![]() |
idHTTP post bad request wegen Sonderzeichen
Hallo DP,
es ist spät und ich sehe schon weiße Mäuse.. aber mich wurmt folgendes: ich sende mit folgender Prozedur POST Daten ab:
Delphi-Quellcode:
Das funktioniert auch soweit prima. In meinen Daten befindet sich aber manchmal ein Telefon-Ländercode: +49 den ich genau so übertragen möchte. Leider ignoriert der Server das +49 und macht daraus 49. Wenn ich es mit %2B49 versuche, gibts als Antwort einen HTTP 1.1 Bad Request 400.
{++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//submit_post +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++} Procedure submit_post(url_string,EncodedStr:string;amemo:TMemo); var aStream: TMemoryStream; Params: TStringStream; begin aStream := TMemoryStream.create; Params := TStringStream.create(''); try with Fmain.IdHTTP1 do begin Params.WriteString(URLEncode(EncodedStr)); Request.ContentType := 'application/x-www-form-urlencoded'; try Response.KeepAlive := False; Post(url_string, params, aStream); except on E: Exception do showmessage('Error encountered during POST: ' + E.Message); end; end; aStream.WriteBuffer(#0' ', 1); aStream.Position := 0; amemo.Lines.LoadFromStream(aStream); except aStream.Free; Params.Free; end; end; Liegt das an
Delphi-Quellcode:
?
Params.WriteString(URLEncode(EncodedStr));
|
AW: idHTTP post bad request wegen Sonderzeichen
%2B ist ja schon die codierte Form des +. Bist Du sicher, dass das + nicht beim Empfänger entfernt wird.
+49 ist ja eigentlich nur die Kurzform für 0049 im Zweifel halt dies verwenden. |
AW: idHTTP post bad request wegen Sonderzeichen
Gelöst!
Das Problem war:
Delphi-Quellcode:
jetzt kann ich das encoding selbst in Form von %2B vornehmen :)
Params.Writestring(URLEncode(mystring));
|
AW: idHTTP post bad request wegen Sonderzeichen
Zitat:
+ ist nicht die Kurzvorm für die 00 sondern + gibt an das die Länderspezifische Vorwahl für Internationale Gespräche nötig ist. 00 ist Zufälliger in DE diese Vorwahl. In anderen Ländern sind andere Vorwahlen nötig ( ![]() [Glugscheißermodus off] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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