【问题标题】:Java HttpClient get http reponse body missing carriage return (CRLF)Java HttpClient 获取 http 响应正文缺少回车符 (CRLF)
【发布时间】:2013-10-18 11:26:11
【问题描述】:

使用 httpclient 获取响应正文,发现 CRLF 被空格替换。 如果我手动(在浏览器中)检查带有参数的请求 url,我可以以预期格式(带有换行符)的 xml 格式响应。在我使用 ....BodyAsString().. 然后打印...一切都在一行中,应该是回车的地方被空格替换。 请帮助...提前致谢。

【问题讨论】:

    标签: http url encoding httpresponse


    【解决方案1】:

    通过 HTTP 传输数据时,您需要将 Content-Type 标头设置为 UTF-8。这应该可以解决您的问题。

    【讨论】:

    • 我从 Web 服务获取的数据(在这个 Web 服务中它调用 db 并获取数据。我无法访问 Web 服务代码),我唯一能做的就是发送请求并接收http响应。这意味着我无法设置内容类型。对吗?
    • 是的,在这种情况下无事可做:)。您可以与 WebService 作者确认他们是否处理此问题。
    • 从浏览器的http响应中可以看到换行符,但是使用Java httpClient得到响应后就看不到了。
    • 您不将它们视为 CR LF 字符吗?这些不是可显示的字符。您是否从输出流中逐个字符地读取响应?如果不试一试。
    • 我得到了 http 响应(xml 格式)并检查了它——查看源代码(在 IE 浏览器中)我可以看到带有回车的预期格式。我使用httpclient并将响应主体作为字符串获取,然后打印响应字符串,我发现应该是回车(crlf)的地方被“空格”替换。怎么可能?为什么?
    猜你喜欢
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多