如何从 Java 中的 link 确定最终的 URL

How do determine the final URL from a link in Java

这是从 Google 警报生成的 link,我想了解您被重定向到的位置。所以我需要 URL 并且我必须使用 Java 来检索它。我已经检查了响应,但没有位置 header 重定向。

https://www.google.com/url?rct=j&sa=t&url=http://naija247news.com/2016/03/nigerian-bond-yields-rise-after-cbns-interest-rate-hike-aimed-at-luring-investors/&ct=ga&cd=CAIyGjA3ZmJiYzk0ZDM0N2U2MjU6Y29tOmVuOlVT&usg=AFQjCNGs7HsYSodEUnECfdAatG6KgY18DA

也许是这样的:

String URL = "https://www.google.com/url?rct=j&sa=t&url=http://naija247news.com/2016/03/nigerian-bond-yields-rise-after-cbns-interest-rate-hike-aimed-at-luring-investors/&ct=ga&cd=CAIyGjA3ZmJiYzk0ZDM0N2U2MjU6Y29tOmVuOlVT&usg=AFQjCNGs7HsYSodEUnECfdAatG6KgY18DA";

String subStr = URL.substring(URL.indexOf("url=") + 1, URL.indexOf("&ct"));

我忘了确切的开始和结束位置是什么,哪些索引。所以你必须验证并检查它是否在正确的位置创建了一个子字符串。但基本思想是删掉你需要的 URL ,仅此而已。这是您转发的示例。可能是当您有不同的 URL 时,您必须搜索其他内容才能知道子字符串的结尾(在提供的示例中,我查找 &ct,而在另一个 URL).您将不得不查找几个 URLs 您必须知道如何删除 URL.