1
Content-Type
をapplication/json
に設定したHTTP POST
リクエストとUTF-16でエンコードされたファイルであるボディを送信しようとしています。HttpURLConnectionを使用してPOSTリクエストを送信しています - リクエストボディはUTF16をエンコードするファイルです - JAVA
しかし、私はエラーを取得する:私は郵便配達を経由して要求を送信する場合code = 400
、それは(code = 200
)が動作します。
私はファイルを正しく追加していないと思います。私はどうしたらいい?
try {
byte[] postData = readFile(new File(path));
URL url = new URL(request);
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
try(DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
wr.write(postData);
}
int i = conn.getResponseCode(); // i = 400;
} catch (IOException e) {}
return null;
あなたのファイルはUTF-16エンコーディングで保存されていることを確認してください? –
私はそれをしました: conn.setRequestProperty( "charset"、 "utf-16"); それは動作しません。 –
私は、問題が他の端にあるかどうかをテストするために、postmanを使用します...問題は先行バイトから来る可能性があります。いくつかの文書は、それらが義務的であり、他は禁じられていると述べています。 –