我应该为 MultipartEntity 设置 Content-Type header 吗?
Should I set the Content-Type header for a MultipartEntity?
我有一小段代码提交了一个 XML 实体以及同一个 POST 中的二进制数据。为此,我正在使用 httpclient 和 httpmime。
我不太确定是否应该为此请求设置 Content-Type
header。毕竟,Content-Type
既是 application/xml
又是 application/octet-stream
。
这个的正确用法是什么?
post = new HttpPost(uri);
post.setHeader("Authorization", auth);
// Should I set Content-Type at all?
post.setHeader("Content-Type", mimeType + ";charset=UTF-8");
MultipartEntityBuilder b = MultipartEntityBuilder.create();
b.addTextBody("data", payload, ContentType.APPLICATION_XML);
b.addBinaryBody("file", file);
post.setEntity(b.build());
不,你不应该。您应该让 HttpClient 根据消息实体的属性自动生成 Content-Type
以及其他内容元数据 headers。
我有一小段代码提交了一个 XML 实体以及同一个 POST 中的二进制数据。为此,我正在使用 httpclient 和 httpmime。
我不太确定是否应该为此请求设置 Content-Type
header。毕竟,Content-Type
既是 application/xml
又是 application/octet-stream
。
这个的正确用法是什么?
post = new HttpPost(uri);
post.setHeader("Authorization", auth);
// Should I set Content-Type at all?
post.setHeader("Content-Type", mimeType + ";charset=UTF-8");
MultipartEntityBuilder b = MultipartEntityBuilder.create();
b.addTextBody("data", payload, ContentType.APPLICATION_XML);
b.addBinaryBody("file", file);
post.setEntity(b.build());
不,你不应该。您应该让 HttpClient 根据消息实体的属性自动生成 Content-Type
以及其他内容元数据 headers。