ACHTUNG: Ich benutze Lazarus unter Linux für diesen Code! Sollte aber in Delphi genauso aussehen.
Hallo!
Sorry für den Titel - mit fiel nichts besseres ein.
Also: Ich hole mit einem HTTPSend aus den nicht-visuallen Synapse-Komponenten eine
XML-date vom Server, und zwar so:
Delphi-Quellcode:
HTTP.HTTPMethod('GET', catalogpath+'contents.xml');
HTTP.Document.SaveToFile('/tmp/apps/catalogue/contents.xml');
Das Funktioniert perfekt. Hole ich dann allerdings mit dem selben HTTP-Objekt eine PNG-datei auf dem selben Server:
Delphi-Quellcode:
HTTP.HTTPMethod('GET', 'http://server.com/irgend-ein-bild.png');
HTTP.Document.SaveToFile('/tmp/apps/catalogue/image.png');
Dann erhalte ich nur eine Date mit diesem Inhalt:
Code:
<!DOCTYPE
HTML PUBLIC "-//IETF//DTD
HTML 2.0//EN">
<
html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
Your browser sent a request that this server could not understand.
Request header field is missing ':' separator.
<pre>
HTTP/1.1 200 OK</pre>
</p>
</body></
html>
Was soll das? Es war bei beiden Dateien der selbe Befehl, die Dateien liegen auf dem selben Server und nur in verschiedenen Verzeichnissen.
/Am Rande: Dem Forum Fehlt noch ein Tag für
HTML und PHP-Code!