![]() |
Komischer Fehler mit TClientSocket
Hallo,
Ich versuche gerade mit der TClientSocket Komponente eine simple HTTP Anfrage zu senden.
Delphi-Quellcode:
wieso bekomme ich hier als Antwort irgendwelche komischen Zeichen :?:
procedure TForm1.Button1Click(Sender: TObject);
begin sock.host:='google.de'; sock.port:=80; sock.ClientType:=ctnonblocking; sock.Open; //sock.active:=true; end; procedure TForm1.sockConnect(Sender: TObject; Socket: TCustomWinSocket); begin Socket.SendText('GET / HTTP/1.0' + #13#10#13#10) end; procedure TForm1.sockRead(Sender: TObject; Socket: TCustomWinSocket); begin memo1.text:=socket.ReceiveText; end; Zitat:
|
Re: Komischer Fehler mit TClientSocket
Bei mir sieht die Antwort folgendermaßen aus...
Code:
HTTP/1.0 302 Found
Location: [url]http://www.google.de/[/url] Cache-Control: private Content-Type: text/html; charset=UTF-8 Set-Cookie: PREF=ID=6d1b1a59c632379b:TM=1221754085:LM=1221754085:S=0PZRuli-F07YMqPR; expires=Sat, 18-Sep-2010 16:08:05 GMT; path=/; domain=.google.com Date: Thu, 18 Sep 2008 16:08:05 GMT Server: gws Content-Length: 218 Connection: Keep-Alive <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>302 Moved</TITLE></HEAD><BODY> <H1>302 Moved</H1> The document has moved [url="http://www.google.de/"]here[/url]. </BODY></HTML> |
Re: Komischer Fehler mit TClientSocket
Zitat:
Woren kann es liegen, dass ich diese komischen Zeichen bekomme, liegt es an meinen System? Rad Studio 2009 Architect, Win Vista x86 |
Re: Komischer Fehler mit TClientSocket
Ich habe gerade mit einem Sniffer gesehen, dass dort auch die richtigen Daten ankommen, aber wieso werden die dennoch falsch angezeigt?
:wall: |
Re: Komischer Fehler mit TClientSocket
ich habe ja wirklich keine ahnung über unicode aber benutzt du vieleicht delphi 2009 ?
(ich hoffe ich rede keinen schwachsinn :? ) |
Re: Komischer Fehler mit TClientSocket
Zitat:
|
Re: Komischer Fehler mit TClientSocket
Liegt es also an Unicode?
Wenn ja, wie könnte ich es dann beheben? Mit der Indy HTTP Kompo. funktioniert es ja schließlich auch... |
Re: Komischer Fehler mit TClientSocket
Mit Delphi 7 klappt es perfekt, gerade ausprobiert.
Wieso aber nicht mit Delphi 2009, muss man dort irgendwas spezielles vorher einstellen oder so? (wegen Unicode) :wiejetzt: |
Re: Komischer Fehler mit TClientSocket
Hallo,
Ist schon etwas seltsam :gruebel: Ich habe gedacht man könnte es mal via Stream probieren - und tatsächlich: Es funktioniert :thumb:
Delphi-Quellcode:
procedure TForm1.sockRead(Sender: TObject; Socket: TCustomWinSocket);
var Stream: TStringStream; Buffer : Pointer; Len : Integer; begin Len := Socket.ReceiveLength; Stream := TStringStream.Create(); try Stream.Seek(0,soFromEnd); Buffer := AllocMem(Len); try Socket.ReceiveBuf(Buffer^, Len); Stream.Write(Buffer^, Len); ShowMessage(Stream.DataString) finally FreeMem(Buffer); end; finally Stream.Free; end; end; |
Re: Komischer Fehler mit TClientSocket
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 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