【问题标题】:How do determine the final URL from a link in Java如何从 Java 中的链接确定最终 URL
【发布时间】:2016-07-12 14:41:25
【问题描述】:

这是从 Google 快讯生成的链接,我想知道您被重定向到的位置。所以我需要这个 URL,我必须用 Java 来检索它。我检查了响应,但没有位置标头重定向。

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

【问题讨论】:

    标签: java google-alerts


    【解决方案1】:

    可能是这样的:

    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 中可能不是这种情况),您可能必须搜索其他内容才能知道子字符串的结尾。您将不得不查找几个您必须知道如何删除 URL 的 URL。

    【讨论】:

    • 请解释“&ct”是什么意思。它确实出现在所有网址中,所以这可能是一个解决方案,我只需要了解我需要删除的内容。谢谢
    • 就像我写的那样,您必须知道 URL 何时结束。在您发布的示例中,您可以通过查找唯一的子字符串 &ct 来确定结尾。拥有索引可以让您知道在哪里停止并剪切子字符串。 substring 方法中的起始索引也是如此。希望我让自己更加清晰易懂。
    • 谢谢。尽管 Google 的提要网址略有不同,但这可能并非在所有情况下都有效。 htmlunit可以用来打开链接并获取url吗?如果是这样,请指导我在应用引擎上的示例实现
    • 对不起,我对htmlunit不熟悉,你得自己研究。
    猜你喜欢
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多