【问题标题】:How can I get the URL of an HTTPResponse如何获取 HTTPResponse 的 URL
【发布时间】:2010-11-15 21:19:21
【问题描述】:

如何获取 HTTPResponse 的 URL? 我试过了:

response.getHeaders("Locations")

但是我得到了:

11-15 21:14:03.355: INFO/System.out(880): [Lorg.apache.http.Header;@43ea9568

【问题讨论】:

  • HTTP 响应没有 URL

标签: android url httpclient httpresponse


【解决方案1】:

您可能正在考虑将客户端重定向到一个新的 url,在这种情况下您希望设置 Location 而不是 Locations

请求有 URL,响应只是发送回客户端的数据包。

【讨论】:

  • 假设 Location 标头是您想要的尝试:response.getLastHeader("Location").getValue()
  • @Alexandre 感谢您的编辑,但实际上我的意思是设置 - 使用 Location: 标头是重定向输出的常用方法。
  • 对不起。我虽然这是一个错字。但是在这种情况下设置Location 标头如何有意义? OP 正在处理来自 http client 库的 response 对象。
  • @Alexandre 正如您在对 Q 的评论中指出的那样,问题本身没有意义 - 我想知道 OP 是否混合了请求/响应,而不是混合了 get/set。我得出这个结论的唯一原因是 OP 提到了 Location: 标头,该标头包含在重定向响应中。在 OP 进一步澄清之前,我认为我们无法提供更多帮助
  • Location: 除了与重定向一起使用外,它是您的 POST 操作创建具有自己的 URL 的新对象时使用的标头。这是 REST 系统设计的一部分。
【解决方案2】:

试试这个

for(Header header : response.getHeaders("Location")) {
  System.out.println("Location from connect:" + header.getValue());
}

【讨论】:

    猜你喜欢
    • 2012-06-23
    • 2012-01-12
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    相关资源
    最近更新 更多