我在用着org.apache.commons.httpclient.HttpClient
并需要设置响应编码(由于某种原因,服务器在 Content-Type 中返回不正确的编码)。我的方法是获取原始字节的响应并转换为String
与所需的编码。我想知道是否有更好的方法来做到这一点(例如设置 HttpClient)。感谢您的建议。
我认为没有更好的答案HttpClient
3.x API。
HTTP 1.1 规范明确规定客户端“必须”遵守响应标头中指定的字符集,如果未指定字符集,则使用 ISO-8859-1。这HttpClient
API 的设计假设程序员希望遵守 HTTP 规范。显然,您需要打破规范中的规则,以便可以与不合规的服务器进行通信。尽管如此,这并不是 API 设计者认为需要明确支持的用例。
如果您使用的是HttpClient
4.x,你可以自己写ResponseHandler
将身体转变为HttpEntity
,忽略响应消息的名义字符集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)