Java,Android,解析网址,重定向uri


问题内容

我有一个受身份验证保护的网址:www.domain.com/alias

请求时将返回另一个URL:www.another.com/resource.mp4(不受保护)

我想知道Java中是否存在一种将从给定URL返回真实URL的方法。像这样:第二=解决(第一)

我正在考虑加载第一个并尝试读入响应,也许是location属性,但是由于我不是Java专家,所以我想知道Java是否已经面临这个问题。


问题答案:

这是我以前遇到的有关URL重定向的问题。尝试以下代码:

URL url = new URL(url);
HttpURLConnection ucon = (HttpURLConnection) url.openConnection();
ucon.setInstanceFollowRedirects(false);
URL secondURL = new URL(ucon.getHeaderField("Location"));
URLConnection conn = secondURL.openConnection();

这里的“魔术”发生在以下两个步骤中:

ucon.setInstanceFollowRedirects(false);
URL secondURL = new URL(ucon.getHeaderField("Location"));

默认情况下,InstanceFollowRedirects设置为true,但是您要将其设置为false以捕获第二个URL。为了能够从第一个URL获取第二个URL,您需要获取一个名为“
Location”的标题字段。