使用 HttpURLConnection 发送 POST 请求 - 请求正文是一个编码为 UTF16 的文件 - JAVA
Sending a POST request using HttpURLConnection - request body is a file that encodes UTF16 - JAVA
我正在尝试发送一个 HTTP POST
请求,Content-Type
设置为 application/json
,正文是一个用 UTF-16 编码的文件。
但是,我得到一个错误: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 编码保存
我正在尝试发送一个 HTTP POST
请求,Content-Type
设置为 application/json
,正文是一个用 UTF-16 编码的文件。
但是,我得到一个错误: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 编码保存