如果页面的URL重定向,如何以编程方式检查?

Vam*_*ani 4 java groovy

我正在尝试提取网页的内容A.使用groovy我尝试了以下内容

......
String urlStr = "url-of-webpage-A"
String pageText = urlStr.toURL().text
//println pageText
.....
Run Code Online (Sandbox Code Playgroud)

上述代码检索webPage A的文本,只要它不重定向到其他网页B.如果A重定向到B,则在pageText变量中检索webPage B的页面内容.有没有办法编码和检查webPage A是否重定向到其他网页(在groovy或java)?

PS:上面的代码不是服务器端逻辑的一部分.我在桌面应用程序的范围内在客户端执行它.

Joa*_*uer 14

在Java中,你可以URL.openConnection()用来获得HttpURLConnection(你需要强制转换).在这个你可以打电话setInstanceFollowRedirects(false).

然后你可以使用getResponseCode()并查看是HTTP_MOVED_PERM(301),HTTP_MOVED_TEMP(302)还是HTTP_SEE_OTHER(303).它们都表明重定向.

如果你需要知道在那里你被重定向到,那么你可以使用getHeaderField("Location")来获取位置标头.