如果我尝试从此域检索URL的Document.baseUri() -
http://www.deliciousmagazine.co.uk/articles/mid-week-meals
它返回http://www.deliciousmagazine.co.uk。
对于其他网址,Document.baseUri()会返回整个网址。
E.g。
https://stackoverflow.com/about
将返回
https://stackoverflow.com/about
我唯一注意到的是HTML响应返回带有以下信息的标记。
<base href="http://www.deliciousmagazine.co.uk/" />
这是我能想到的唯一导致这个问题的事情。如果我想要整个URL,即使这个元素存在,该怎么办?我可以在Document上调用哪种方法来检索它?
示例代码
Document doc = null;
try {
doc = Jsoup.connect(url).userAgent("Mozilla").get();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(doc.baseUri());
答案 0 :(得分:0)
基URI的要点是将源(<a href="/foo">
)中的相对URL解析为绝对URL。文档可以使用元标记的基URI;如果未设置,则默认为获取的位置。
获取源URL所需的用例是什么?难道你不知道它是什么(因为你怎么得到它)?
答案 1 :(得分:0)
Response对象有一个url()方法,该方法应该为您提供最终的url。所以你可以这样做
String url = "http://t.co/i5dE1K4vSs";
Response response = Jsoup.connect(url).followRedirects(true).execute();
System.out.println(response.url());