HTTP-Post-Anfrage stellen mit unterschiedlich kodierten (charset)

Verweis auf die Vorherige Frage: Immer eine ajax-Antwort in java aus einer web-Methode (java).io.FileNotFoundException)

Ich versuche zu senden, einen POST-request mit json in den request-body, aber der Körper ist anders codiert, wenn es von einem web-browser (chrome) und mein java-code.
Hier ist mein code:

String params = "{\"prefixText\":\"aCity\",\"count\":10,\"contextKey\":\"he\"}";
conn = (HttpURLConnection) new URL("http://bus.gov.il/WebForms/wfrmMain.aspx/GetCompletionList").openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setFixedLengthStreamingMode(params.length());
conn.addRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.addRequestProperty("Referer", "http://bus.gov.il/WebForms/wfrmMain.aspx?width=1024&company=1&language=he&state=");
Writer out = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
out.write(params);
out.close();
String answer = readStream(conn.getInputStream(), "utf-8");

Hier sind die 2 Anfragen, die gesendet werden, wie in Wireshark: link (erste ist die gute, die zweite ist die falsch codierten java-Anfrage).

Ich versucht, die änderung der Zeichenkodierung im Content-Type-aber es Tat nichts.

Jede Hilfe wird sehr geschätzt werden.

InformationsquelleAutor RonLut | 2011-12-27

Schreibe einen Kommentar