gpt4 book ai didi

java - 使用 HttpClient 3.1 设置响应编码

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:56:59 28 4
gpt4 key购买 nike

我正在使用 org.apache.commons.httpclient.HttpClient 并且需要设置响应编码(由于某些原因服务器在 Content-Type 中返回不正确的编码)。我的方法是将响应作为原始字节并转换为具有所需编码的 String。我想知道是否有更好的方法来执行此操作(例如设置 HttpClient)。感谢您的建议。

最佳答案

我认为使用 HttpClient 3.x API 没有更好的答案。

HTTP 1.1 规范明确指出,客户端“必须”遵守响应 header 中指定的字符集,如果未指定字符集,则使用 ISO-8859-1。 HttpClient API 的设计假设是程序员希望符合 HTTP 规范。显然,您需要打破规范中的规则,才能与不兼容的服务器通信。尽管如此,这并不是 API 设计者认为需要明确支持的用例。

如果您使用的是 HttpClient 4.x,您可以编写自己的 ResponseHandler 将正文转换为 HttpEntity,忽略响应消息的名义字符集。

关于java - 使用 HttpClient 3.1 设置响应编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5142794/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com