Java 如何从URL中获取最终URL(浏览器将在最后加载的URL)?

Java 如何从URL中获取最终URL(浏览器将在最后加载的URL)?,java,Java,如果您搜索一些网站,如https://www.uncox.com/在浏览器中,浏览器将加载地址https://learn.uncox.com/。当我打印响应代码时,服务器返回200!!!。不是300和…并且标头位置值为空 现在我的问题是,如何使用Java从URL中获取最新的URL(最终由浏览器加载的URL)?在浏览器中实现这一点的方式(我正在将其简化很多)是服务器将发送HTTP代码301(永久重定向)或302(临时重定向)针对目标https://www.uncox.com/,带有要重定向到的UR

如果您搜索一些网站,如
https://www.uncox.com/
在浏览器中,浏览器将加载地址
https://learn.uncox.com/
。当我打印响应代码时,服务器返回200!!!。不是300和…并且标头位置值为空


现在我的问题是,如何使用Java从URL中获取最新的URL(最终由浏览器加载的URL)?

在浏览器中实现这一点的方式(我正在将其简化很多)是服务器将发送HTTP代码301(永久重定向)或302(临时重定向)针对目标
https://www.uncox.com/
,带有要重定向到的URL地址。您可以在Java代码中镜像此过程,以遵循重定向链,直到得到不同于301/302的结果代码。这不是一个万无一失的过程,需要您的代码访问internet,但这是实时获取这些信息的唯一方法


编辑:将HTTP代码303(请参阅其他)包括到列表中。不管是哪种方式,在重复的问题中都有详细的解释。

在浏览器中实现这一点的方式(我对其进行了大量简化)是,服务器将发送HTTP代码301(永久重定向)或302(临时重定向),以请求为目标
https://www.uncox.com/
,带有要重定向到的URL地址。您可以在Java代码中镜像此过程,以遵循重定向链,直到得到不同于301/302的结果代码。这不是一个万无一失的过程,需要您的代码访问internet,但这是实时获取这些信息的唯一方法


编辑:将HTTP代码303(请参阅其他)包括到列表中。无论哪种方式,在重复问题中都有详细解释。

但当我打印响应代码时,服务器返回200。不是300+@Hadi检查链接问题的答案。基本上,如果使用
HttpURLConnection
,请调用
setInstanceFollowRedirects(false)
,否则它将自动跟随30x代码。另外,请查看amobiz的答案,我会尝试另一种解决方案。非常感谢。但当我打印响应代码时,服务器返回200。不是300+@Hadi检查链接问题的答案。基本上,如果使用
HttpURLConnection
,请调用
setInstanceFollowRedirects(false)
,否则它将自动跟随30x代码。另外,请查看amobiz的答案,我会尝试另一种解决方案。非常感谢你。