【问题标题】:HttpClient Custom redirection handler for relative redirectionHttpClient 用于相对重定向的自定义重定向处理程序
【发布时间】:2012-12-05 07:53:05
【问题描述】:

有没有办法制作一个自定义重定向处理程序,它告诉 Apache HttpClient 在重定向发生之前我想要重定向到哪里,在 post 方法执行之后?这是因为我在响应页面中收到错误,我的猜测是这是由于相对重定向,没有正确解释。谢谢。

【问题讨论】:

    标签: java android redirect apache-commons-httpclient


    【解决方案1】:

    不确定“在重定向发生之前重定向”是什么意思,但您可以创建自己的重定向处理程序并替换默认处理程序。然后,您可以随意处理 Location 标头。在任何情况下,如果默认的不能正确处理它,很可能是一些服务器配置错误。这是接口的默认实现供参考:

    http://developer.android.com/reference/org/apache/http/client/RedirectHandler.html

    http://developer.android.com/reference/org/apache/http/impl/client/DefaultRedirectHandler.html

    【讨论】:

    • 谢谢,我想这就是我想要的。
    • 抱歉,我再次需要你的帮助,我正在尝试这个,我实现了 RedirectHandler,现在我正在网上寻找一些示例代码来处理你所说的 Location 标头,我找不到任何,所以...也许在 isRedirectRequested() 方法中我应该对响应对象做些什么?感谢您的耐心等待
    • 查看DefaultRedirectHandler的来源以获得提示。它检查isRedirectRequested() 中的状态码,并为301、302 等返回true。然后getLocationURI() 提取Location 标头并返回URL 以进行下一步。它确实为您处理相对和绝对,因此记录标题和位置并与您的期望进行比较。然后根据需要进行调整。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多