Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy HTTPClient Post umlaute (https://www.delphipraxis.net/214978-indy-httpclient-post-umlaute.html)

DelTurbo 16. Apr 2024 09:38

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:
{ "q": "Länge 8,5 cm","source": "de", "target": "en", "api_key": "#####"}
senden.
Zurück bekomme ich
Code:
Array
(
    [{_"q":_"L?nge_8,5_cm","source":_"de",_"target":_"en",_"api_key":_"######"}] =>
)
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.

Habe ich in der der Quelle keine umlaute klappt alles. Ich hoffe mir kann jemand helfen.

Vielen Dank im voraus

Frickler 16. Apr 2024 09:54

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)

DelTurbo 16. Apr 2024 09:58

AW: Indy HTTPClient Post umlaute
 
Sorry, entweder steh ich mal wieder auf der Leitung oder... keine Ahnung. Ich verstehe das nicht.

jaenicke 16. Apr 2024 10:30

AW: Indy HTTPClient Post umlaute
 
Welches Encoding verwendest du denn beim Senden? Üblich wäre UTF8.

DelTurbo 16. Apr 2024 10:32

AW: Indy HTTPClient Post umlaute
 
Zitat:

Zitat von Frickler (Beitrag 1535782)
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)

Das habe ich auch schon versucht. In meiner Verzweiflung habe sogar html-code übergeben. Nix....

DelTurbo 16. Apr 2024 10:33

AW: Indy HTTPClient Post umlaute
 
@jaenicke,

Zitat:

Zitat von DelTurbo (Beitrag 1535778)
Wandel ich es in UTF-8 um, bekomme ich z.b. statt L?nge, L??nge zurück.

Hab ich doch schon versucht.

DelTurbo 16. Apr 2024 10:56

AW: Indy HTTPClient Post umlaute
 
Noch zur Info...
Das verwundert mich nun aber... Ich habe mal mit Wireshark geschaut was raus geht.

Code:
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": "#####"}
Ich verstehe das nicht.

anse 16. Apr 2024 10:59

AW: Indy HTTPClient Post umlaute
 
Da fehlt auf Delphi-Seite der charset Header wenn ich das richtig sehe.

Code:
HttpReq.Request.CharSet := 'utf-8';

DelTurbo 16. Apr 2024 11:03

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

anse 16. Apr 2024 11:09

AW: Indy HTTPClient Post umlaute
 
Dann muss das wahrscheinlich in der Webanwendung gefixt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz