当前位置: 首页 > 面试题库 >

Java-如何找到URL的重定向URL?

戈华茂
2023-03-14
问题内容

我正在通过Java访问网页,如下所示:

URLConnection con = url.openConnection();

但是在某些情况下,一个URL重定向到另一个URL。所以我想知道以前的URL重定向到的URL。

以下是我作为响应得到的标题字段:

null-->[HTTP/1.1 200 OK]
Cache-control-->[public,max-age=3600]
last-modified-->[Sat, 17 Apr 2010 13:45:35 GMT]
Transfer-Encoding-->[chunked]
Date-->[Sat, 17 Apr 2010 13:45:35 GMT]
Vary-->[Accept-Encoding]
Expires-->[Sat, 17 Apr 2010 14:45:35 GMT]
Set-Cookie-->[cl_def_hp=copenhagen; domain=.craigslist.org; path=/; expires=Sun, 17     Apr 2011 13:45:35 GMT, cl_def_lang=en; domain=.craigslist.org; path=/; expires=Sun, 17 Apr 2011 13:45:35 GMT]
Connection-->[close]
Content-Type-->[text/html; charset=iso-8859-1;]
Server-->[Apache]

因此,目前,我正在根据Set-Cookie标头字段的值构造重定向的url 。在上述情况下,重定向的网址为copenhagen.craigslist.org

有什么标准方法可以确定特定的URL将要重定向到哪个URL。

我知道,当一个URL重定向到其他URL时,服务器会发送一个中间响应,该响应包含一个Location标头字段,该字段告诉重定向的URL,但我没有通过该url.openConnection();方法收到该中间响应。


问题答案:

你需要转换URLConnectionHttpURLConnection并指示它不是通过设置跟随重定向HttpURLConnection#setInstanceFollowRedirects()false。你还可以通过进行全局设置HttpURLConnection#setFollowRedirects()

然后,你只需要自己处理重定向。通过检查响应代码,通过HttpURLConnection#getResponseCode()抓取Location标头URLConnection#getHeaderField(),然后在其上激发一个新的HTTP请求。



 类似资料:
  • 问题内容: 从上一页收集到数据后,我想向客户显示另一页。但是我在服务器端重定向新URL时遇到麻烦。这是我的逻辑: 将带有POST操作的用户输入提交给服务器; 服务器运行函数saveChoice()将用户输入保存到数据库中; 保存用户输入后,服务器将新的URL发送给客户端。 当客户端获取新URL时,服务器读取数据库并取出保存的数据 我坚持执行第3步(这里是流程示例): 这是模板: 我可以知道如何重定

  • 我正在构建一个URL缩短器,并正在研究“跟随方法”(follow method)——例如short。李/?存根=dishpods应重定向到https://www.amazon.com/gp/product/B07CTQ8THP/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8 如何在我的控制器中设置这个自动重定向?我能想到的最好的办法是打印到控制台,但我希望它能

  • 重定向到一个 URL 。 使用 window.location.href 或 window.location.replace() 重定向到 url 。 传递第二个参数来模拟链接点击(true - 默认值)或HTTP重定向(false)。 const redirect = (url, asLink = true) => asLink ? (window.location.href = url)

  • 我是Python和Flask的新手,我正在尝试做与如C#-ie:重定向到一个特定的URL-我该怎么做? 这是我的密码:

  • 基本上:我如何访问或确定以前请求的URL? 我真的不想求助于传递查询字符串参数,除非我真的不得不这样做。理想情况下,最好能够将< code>history集合作为< code>Router组件的一部分,类似于< code>backbone.history!

  • 问题内容: 我是Python和Flask的新手,我正在尝试做与中相同的操作-即:重定向到特定的URL-我该如何处理? 这是我的代码: 问题答案: 你必须返回重定向: 请参阅flask文档上的文档。代码的默认值为302,因此可以省略或用其他重定向代码(301、302、303、305和307中的一个)替换。