Hi Jungs und Mädels
Ich versuch mir grad was zu basteln bei Delphi ... (Die Frage hat nur bedingt was mit Delphi zu tun würd ich mal sagen)
Ich setz ne ganze reihe von Informationen ab (über den Socket) mit dem Ziel eine Seite als Ausgabe zurück zu bekommen ... !
Das zum Prinzip!
In php funktioniert das ganze über das Senden der Folgenden Sachen:
Code:
$request = "GET / HTTP/1.1\r\n";
$request .= "Host: $host\r\n";
$request .= 'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204'."\r\n";
$request .= 'Accept: text/
xml,application/
xml,application/xhtml+
xml,';
$request .= 'text/
html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,';
$request .= "image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n";
$request .= "Accept-Language: en-us, en;q=0.50\r\n";
$request .= "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n";
$request .= "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Connection: keep-alive\r\n";
$request .= "Cache-Control: max-age=0\r\n";
Das geht - ehrlich
in Delphi mach ichs so - und es geht nicht ...
Delphi-Quellcode:
tcp.Socket.SendText('
GET / HTTP/1.1' + #10#13);
tcp.Socket.SendText('
Host: '+
tcp.Host + #10#13);
tcp.Socket.SendText('
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204' +#10#13);
tcp.Socket.SendText('
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1' +#10#13);
tcp.Socket.SendText('
Accept-Language: en-us, en;q=0.50' +#10#13);
tcp.Socket.SendText('
Accept-Encoding: gzip, deflate, compress;q=0.9' +#10#13);
tcp.Socket.SendText('
Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66' +#10#13);
tcp.Socket.SendText('
Keep-Alive: 300' +#10#13);
tcp.Socket.SendText('
Connection: keep-alive' +#10#13);
tcp.Socket.SendText('
Cache-Control: max-age=0' +#10#13);
tcp.Socket.SendText(#10#13);
Dieser Text steht im
tcp.OnConnect (mein Socket heisst
tcp)
Da bekomme ich leider immer nen
Zitat:
HTTP/1.1 400 Bad Request
Content-Type: text/
html
Date: Mon, 23 Aug 2004 13:14:38 GMT
Connection: close
Content-Length: 20
<h1>Bad Request</h1>
zurück!
mit GET / HTTP/1.0
kommt der Server leider nicht klar!
(auch Bad Request)
hat einer von euch evtl eine Ahnung, woran das nun liegen kann, dass das nicht klappt? Ist doch (eigentlich) der selbe Code
Vielen Dank!
hier noch die Einstellungen meines Sockets:
tcp.Port:= 80
tcp.Host := whatismyip.com
tcp.ClientType := ctnonblocking (mit blocking kommt minuten lang überhaupt nix!)
Als weitere Anmerkung noch:
-->Die
Indy-HTTP-Components geben mir auch nen error 400 zurück!
--> Mozilla geht
--> php geht *g*
--> ShDocVw (oder wie das heisst - Der Webbrowser im Delphi) geht