【问题标题】:Java Android redirection of URL doesn't workURL的Java Android重定向不起作用
【发布时间】:2014-05-11 02:31:31
【问题描述】:

我正在尝试在 Java 中获取这样的 URL 的重定向 URL:

HttpURLConnection con = (HttpURLConnection)(new URL( reUrl ).openConnection());
            con.setInstanceFollowRedirects( false );
            con.connect();
            int responseCode = con.getResponseCode();
            String location = con.getHeaderField("Location");
            uri = location;

但是con.getHeaderField("Location") 给我 null 说没有这样的字段和con.getResponseCode() 200 所以没有重定向。我究竟做错了什么? 示例网址:http://hukd.mydealz.de/visit?m=734&q=337105 (希望可以在这里发帖)

【问题讨论】:

    标签: java android http url redirect


    【解决方案1】:

    您提到的 URL 不是进行 HTTP 状态代码重定向(状态代码 3xx),而是使用 HTML 的元刷新标记进行重定向。 HttpURLConnection 只能检测状态代码重定向(在您的情况下为 200)。

    最好的方法是使用隐藏的WebView,然后使用webview.onPageLoadFinished() 来获取页面的最终 URL。或者,您可以解析 html 以获取元刷新标记的值以获取重定向 url

    【讨论】:

    • 感谢您的快速响应和解决方案。想我要解析链接并获取元网址
    猜你喜欢
    • 2014-08-30
    • 2014-01-19
    • 2012-07-04
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    相关资源
    最近更新 更多