![]() |
Indy HTTPClient Post umlaute
Hallo,
ich habe zwar schon viel gelesen hier mit umlauten aber nichts klappt. Folgendes: ich sende mit POST(URL,String) z.b. öäü und bekomme laut PHP print_r($_POST); nur ??? zurück. Ich habe schon hnForceEncodeParams auf False sonst geht es garnicht. Hintergrund: Ich muss an einen Server z.b.
Code:
senden.
{ "q": "Länge 8,5 cm","source": "de", "target": "en", "api_key": "#####"}
Zurück bekomme ich
Code:
Der ContentType MUSS application/json sein sonst kommt 400 zurück. Wandel ich es in UTF-8 um, bekomme ich z.b. statt L?nge, L??nge zurück.
Array
( [{_"q":_"L?nge_8,5_cm","source":_"de",_"target":_"en",_"api_key":_"######"}] => ) Habe ich in der der Quelle keine umlaute klappt alles. Ich hoffe mir kann jemand helfen. Vielen Dank im voraus |
AW: Indy HTTPClient Post umlaute
Eventuell codieren? "Ä" wird "& # 1 9 6 ;" usw. (Leerzeichen entfernen)
(wenn ich die Leerzeichen weglasse, konvertiert mir das Forum automatisch den Ausdruck wieder nach "Ä", auch in Code-Tags. gna!) P.S. nochn Versuch: codiere "Ä" als "&# 196;" codiere "Ö" als "&# 214;" codiere "Ü" als "&# 220;" codiere "ä" als "&# 228;" codiere "ö" als "&# 246;" codiere "ü" als "&# 252;" codiere "ß" als "&# 223;" (wieder das Leerzeichen zwischen "#" und der ersten Ziffer entfernen) |
AW: Indy HTTPClient Post umlaute
Sorry, entweder steh ich mal wieder auf der Leitung oder... keine Ahnung. Ich verstehe das nicht.
|
AW: Indy HTTPClient Post umlaute
Welches Encoding verwendest du denn beim Senden? Üblich wäre UTF8.
|
AW: Indy HTTPClient Post umlaute
Zitat:
|
AW: Indy HTTPClient Post umlaute
@jaenicke,
Zitat:
|
AW: Indy HTTPClient Post umlaute
Noch zur Info...
Das verwundert mich nun aber... Ich habe mal mit Wireshark geschaut was raus geht.
Code:
Ich verstehe das nicht.
POST /translate HTTP/1.0
Connection: keep-alive Content-Type: application/json Content-Length: 105 Host: translate.lan:5000 Accept: application/json User-Agent: 'User-Agent', 'Mozilla/5.0 Cookie: session=75dbc5ad-adaf-4cb0-94e6-aaf4cf78cd31 { "q": "L?nger 8,5 cm","source": "de", "target": "en", "api_key": "#####"} |
AW: Indy HTTPClient Post umlaute
Da fehlt auf Delphi-Seite der charset Header wenn ich das richtig sehe.
Code:
HttpReq.Request.CharSet := 'utf-8';
|
AW: Indy HTTPClient Post umlaute
Den kann ich nicht angeben. Dann komm Fehler 400.
Wireshark:
Code:
POST /translate HTTP/1.0
Connection: keep-alive Content-Type: application/json; charset=UTF-8 Content-Length: 96 Host: translate.lan:5000 Accept: application/json User-Agent: 'User-Agent', 'Mozilla/5.0 { "q": "L?nge,"source": "de", "target": "en", "api_key": "######"}HTTP/1.0 400 BAD REQUEST |
AW: Indy HTTPClient Post umlaute
Dann muss das wahrscheinlich in der Webanwendung gefixt werden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 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 by Thomas Breitkreuz