Hallo peberhardt,
also du erstellst deine
XML "händisch", das mag zwar mit dem geschulten Auge gut funktionieren, aber ich rate dringendst - auch wegen der Wiederverwendbarkeit davon ab. Dazu gibt es das wunderbare
IXMLDocument aus der XMLIntf Datei. Aber dies ist nicht das Kernthema.
Außerdem benutzt du eine veraltete
Indy Version (aktuell ist >= 10.5.9).
Mit einer TStringList zu arbeiten ist der richtige falsche Ansatz (name=value Prinzip). Da du quasi nur "blob" Daten sendest empfiehlt sich dazu der TStringStream. Die Daten liegen ja im UTF-8 CharSet vor, deshalb muss dieser auch damit angelegt werden:
Delphi-Quellcode:
request_data := TStringStream.Create('
', CP_UTF8);
// in request.Text befindet sich die komplette XML Datei, ich rate dir aber dringendst dies anzupassen
request_data.WriteString(request.Text);
Des weiteren wird der Datentyp von der
response Variable in einen String umgewandelt.
Delphi-Quellcode:
//ich bin mir mit dem ContentType hier nicht sicher, aber es geht in die Richtung
IDHttp1.Request.ContentType := '
application/atom+xml';
// Statt des ContentEncoding's wird der CharSet definiert.
IDHttp1.Request.CharSet := '
UTF-8';
response := IDHttp1.Post('
https://gateway.autodns.com', request_data);
Damit sollte es funktionieren und im
response: String
ist dann der POST-response im richtigen "Format".
Grüße
PS: Gerne kannst du dies alles nochmal in meinem Tutorial nachlesen:
http://www.delphipraxis.net/160152-i...protokoll.html. Dort im Punkt 1 Daten senden der 2te Codeblock wird gezeigt, wie es mit Google-Blogger funktioniert - also ähnlich deinem Vorhaben, wenn man es abstrakt sieht.