AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi ClientSocket GET HTTP/1.1 - Fehler!
Thema durchsuchen
Ansicht
Themen-Optionen

ClientSocket GET HTTP/1.1 - Fehler!

Ein Thema von TobyM · begonnen am 23. Aug 2004 · letzter Beitrag vom 23. Aug 2004
Antwort Antwort
TobyM

Registriert seit: 23. Aug 2004
2 Beiträge
 
#1

ClientSocket GET HTTP/1.1 - Fehler!

  Alt 23. Aug 2004, 17:44
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
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: ClientSocket GET HTTP/1.1 - Fehler!

  Alt 23. Aug 2004, 17:47
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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
TobyM

Registriert seit: 23. Aug 2004
2 Beiträge
 
#3

Re: ClientSocket GET HTTP/1.1 - Fehler!

  Alt 23. Aug 2004, 17:55
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!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz