![]() |
ClientSocket GET HTTP/1.1 - Fehler!
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:
Das geht - ehrlich :)
$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"; in Delphi mach ichs so - und es geht nicht ...
Delphi-Quellcode:
Dieser Text steht im tcp.OnConnect (mein Socket heisst tcp)
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); Da bekomme ich leider immer nen Zitat:
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 :-D --> php geht *g* --> ShDocVw (oder wie das heisst - Der Webbrowser im Delphi) geht |
Re: ClientSocket GET HTTP/1.1 - Fehler!
Hi,
bist du sicher, dass auf dem Server #10#13 der Zeilenumbruch ist? Bei Unix ist dieser nämlich #13, bei Windows #13#10 mfG mirage228 |
Re: ClientSocket GET HTTP/1.1 - Fehler!
hmm ... daran könnte es natürlich in der Tat liegen!
aber \r\n geht ja beim php auch! Ich werd es direkt mal testen (und dann entsprechende Resultate editieren *g*) Danke erstmal Okay - nen Versuch war es wert! Es geht jedenfalls nicht :-( Edit2: alles lesen hilft manchmal ich hab doch tatsächlich #10#13 vertauscht gehabt! Danke dir! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz