使用HttpURLConnection发送POST请求 - 请求正文是一个编码UTF16 - JAVA的文件

时间:2017-11-16 12:14:08

标签: java http http-post httpurlconnection 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;

1 个答案:

答案 0 :(得分:1)

确保您的文件以utf 16编码保存