Java的Android Android重定向不起作用

时间:2014-03-31 16:21:25

标签: java android http url redirect

我正在尝试在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 (希望可以在这里发帖)

1 个答案:

答案 0 :(得分:1)

您提到的URL没有执行HTTP状态代码重定向(状态代码3xx),但它使用HTML的元刷新标记来重定向。 HttpURLConnection只能检测状态代码重定向(在您的情况下为200)。

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