当使用 apache.HttpClient 发送多部分时,我生成以下输出:
18:29:58.800 调试 n.n.n.w.e.ServiceImpl -
--bEDi1DhmFcmCTebUvLowWpRtw-OscIydQ24RSB
Content-Disposition: form-data; name="id"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
ChecknLoadEnvironmentData
--bEDi1DhmFcmCTebUvLowWpRtw-OscIydQ24RSB
Content-Disposition: form-data; name="file"; filename="myfile.xml"
Content-Type: text/xml; charset=ISO-8859-1
Content-Transfer-Encoding: binary
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ImportProgramVersion>3.1</ImportProgramVersion>
<Year>2012</Year>
....
....
</Dataset>
--bEDi1DhmFcmCTebUvLowWpRtw-OscIydQ24RSB--
但这似乎因 500 内部服务器错误而失败 PostMan 成功了。
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="id"
ChecknLoadEnvironmentData
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="filename"
myXML.xml
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="file"; filename="myXML.xml"
Content-Type: text/xml
----WebKitFormBoundaryE19zNvXGzXaLvS5C
所以我的问题是,我可以删除java中的字符集和内容传输编码吗 “apache.httpclient”?这样我就可以消除两个请求之间的差异。 我查看了库源代码,似乎不可能,它总是默认为某个值。
(为什么Postman不显示我发送的xml文件?)
最佳答案
使用 Apache HttpClient 生成多部分 MIME 实体时,请确保使用所谓的“宽松”模式
关于java - Apache HttpClient postman ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27001382/