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> </p></TD> <TD valign="top"> <P align="center"> </P> <P align="center"><img src="logogross.gif" width="382" height="101"></P> <P align="center">The domain "" 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).
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]