使用 HttpURLConnection 发送 POST 请求 - 请求正文是一个编码 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 编码保存

相关内容

  • 没有找到相关文章

最新更新