首页  >  文章  >  Java  >  如何在 Java 中确定重定向 URL:标准方法和内容前检查?

如何在 Java 中确定重定向 URL:标准方法和内容前检查?

Linda Hamilton
Linda Hamilton原创
2024-11-07 07:52:02370浏览

How to Determine Redirected URLs in Java: Standard Approach and Pre-Content Check?

Java 中如何确定重定向的 URL

在 Java 中,使用 URLConnection 访问网页时,可能会遇到初始 URL 不正确的情况重定向到不同的位置。确定重定向 URL 对于进一步处理或分析至关重要。

本文研究了从标头字段信息获取重定向 URL 的方法,并提出了使用 URLConnection 的标准方法。

获取来自标头字段的重定向 URL

之前,您从 Set-Cookie 标头字段中提取重定向 URL,这不是标准方法。但是,访问 Location 标头字段可以提供一种可靠的方法来查找重定向的 URL。

使用 URLConnection 的标准方法

  1. 使用原始方法创建 URLConnection 实例URL。
  2. 使用 connect() 连接到 URL。
  3. 连接后,使用 getInputStream() 访问内容。
  4. 检索内容后,调用 getURL() URLConnection 来获取最终的重定向 URL。
URLConnection con = new URL(url).openConnection();
con.connect();
InputStream is = con.getInputStream();
System.out.println("Redirected URL: " + con.getURL());
is.close();

在获取内容之前确定重定向

如果您需要在获取内容之前了解重定向内容,请按照以下步骤操作:

  1. 创建 HttpURLConnection 实例。
  2. 设置 setInstanceFollowRedirects(false) 以防止自动重定向。
  3. 使用 connect() 连接到 URL .
  4. 检查响应代码 (getResponseCode()) 以了解是否发生重定向。
  5. 如果发生重定向,请使用 getHeaderField("Location") 获取新位置。
HttpURLConnection con = (HttpURLConnection)(new URL(url).openConnection());
con.setInstanceFollowRedirects(false);
con.connect();
int responseCode = con.getResponseCode();
String location = con.getHeaderField("Location");

以上是如何在 Java 中确定重定向 URL:标准方法和内容前检查?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn