![]() |
Datei herunterladen mit ClientSocket
Hi,
ich möchte eine Datei (zum Beispiel die index.html/php) mit einem ClientSocket runterladen. Welchen Befehl muss ich dafür verwenden ?
Delphi-Quellcode:
Liefert mir folgendes Ergebnis:
Socket.SendText('GET ./index.html'+#13#10);
Zitat:
|
Re: Datei herunterladen mit ClientSocket
Hi,
das muss wohl etwas anders aussehen:
Code:
Es fehlen auch noch ein paar HTTP Header - vor allem "Host", wenn du keinen absoluten URI angibst. Ganz genau geregelt ist das hier:
GET /index.html HTTP/1.1
![]() Bei der Analyse der Kommunikation kann dir das Plugin LiveHTTPheaders für FireFox helfen. Grüße vom marabu |
Re: Datei herunterladen mit ClientSocket
Habe das gerade mal an der DP durchgespielt und laut dem Addon müsste es so gehen:
Delphi-Quellcode:
Es kommt allerdings keine Antwort.
Socket.SendText('GET /index.html HTTP/1.1'+#13#10+'Host: www.delphipraxis.net'+#13#10);
|
Re: Datei herunterladen mit ClientSocket
Warum auch - du hast ja dem Server auch nicht gemeldet, dass deine Anfrage vollständig übermittelt wurde.
Delphi-Quellcode:
Freundliche Grüße
const
HOST_NAME = 'www.delphipraxis.net'; procedure TDemoForm.Button1Click(Sender: TObject); begin Memo.Clear; with ClientSocket do begin //ClientType := ctNonBlocking; Host := HOST_NAME; Service := 'http'; Open; Write; end; end; procedure TDemoForm.ClientSocketWrite(Sender: TObject; Socket: TCustomWinSocket); begin Socket.SendText('GET / HTTP/1.1' + sLineBreak); Socket.SendText('Host: ' + HOST_NAME + sLineBreak); Socket.SendText(sLineBreak); end; procedure TDemoForm.ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket); begin Memo.Lines.Text := Memo.Text + Socket.ReceiveText; end; |
Re: Datei herunterladen mit ClientSocket
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 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