Autor Beitrag
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 06.08.07 20:54 
Wie fordere ich eine Datei im HTTP-Protokoll an?[meta]TClientSocket, Datei, herunterladen, HTTP[/meta]

Lösung: Sende "GET http://"host"/"path.

Hallo,

Ich habe das Forum und die Library gründlich durchsucht, aber nicht passenes gefunden.

Ich will wie gesagt eine Datei im HTTP-Protokoll (z.B. index.php auf www.delphi-forum.de:80) anfordern. In Wikipedia steht, man soll folgende Anweisung senden:

Zitat:
GET /index.php HTTP/1.1


Ohne HTTP/1.1 bekomme ich folgende Antwort:

Zitat:
<HTML><HEAD><META content="text/html; charset=" http-equiv=Content-Type><LINK href="/style.css" rel=stylesheet type=text/css></HEAD><BODY bgColor=#ffffff bottomMargin=0 leftMargin=0 topMargin=0 MARGINHEIGHT="0" MARGINWIDTH="0"><table class="tblbgcolor" align="left" border="0" cellpadding="3" cellspacing="0" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF"><tr> <TD vAlign=top><p>&nbsp; </p></TD> <TD valign="top"> <P align="center">&nbsp;</P> <P align="center"><img src="logogross.gif" width="382" height="101"></P> <P align="center">The domain &quot;&quot; is not available.</P> </TD> </TR></TABLE></BODY></HTML>


Was wohl heißen soll, dass die Domain www.delphi-forum.de nicht verfügbar sein soll. (Ich habe den Text als Link eingefügt für diejenigen, die diesem Satzt Glaubwürdigkeit schenken). :P

Wenn ich den führenden Slash weglasse, bekomme ich diese Antwort:

Zitat:
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Bad request!</title><link rev="made" href="mailto:%5bno%20address%20given%5d" /><style type="text/css"><!--/*--><![CDATA[/*><!--*/ body color: #000000; background-color: #FFFFFF; a:link color: #0000CC; p, address margin-left: 3em; span font-size: smaller;/*]]>*/--></style></head><body><h1>Bad request!</h1><p> Your browser (or proxy) sent a request that this server could not understand.</p><p>If you think this is a server error, please contactthe <a href="mailto:%5bno%20address%20given%5d">webmaster</a>.</p><h2>Error 400</h2><address> <a href="/">linux.local</a><br /> <span>Mon Aug 6 20:52:06 2007<br /> Apache/2.0.54 (Linux/SUSE)</span></address></body></html>


Was der Wahrheit entspricht, denn die Anforderung hat schließlich eine falsche Syntax.

Jetzt die Frage: Wie mache ich das richtig?

Ich denke, die meisten benutzen andere Komponenten für diesen Nutzen, ich möchte mich aber direkt verbinden. Also keine Vorschläge von fertigen Komponenten, es sei denn, sie enthalten nützlichen Quellcode.

Für die, die es nützt: Ich benutze dieses Programm: [url=www.yogularm.de/df/t...]TCPConnection[/url]


Zuletzt bearbeitet von Yogu am Sa 29.12.07 18:34, insgesamt 2-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 06.08.07 22:10 

_________________
There are 10 types of people - those who understand binary and those who don´t.
Yogu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 07.08.07 19:35 
Erst mal danke, Narses!

Hab natürlich alles gelesen, versteht sich. :nut:
Nee, ich war erst mal überwältigt von den 412380 Zeichen. Dann überflog ich mal alles, bis ich irgendwo http_URL erstpähte, und ich dann sah, dass ich einfach das http vergessen hatte.
So einfach ist des Problems Lösung, wenn auch auf 176 Seiten irendwo versteckt.