2

このドメインからURLのDocument.baseUri()を取得しようとすると-

http://www.deliciousmagazine.co.uk/articles/mid-week-meals

http://www.deliciousmagazine.co.ukを返します。

他のURLの場合、Document.baseUri()はURL全体を返します。

例えば

https://stackoverflow.com/about

戻ります

https://stackoverflow.com/about

私が気付いた唯一のことは、HTML応答が次の情報を含むタグを返すことです。

<base href="http://www.deliciousmagazine.co.uk/" />

これがこの問題を引き起こしていると私が考えることができる唯一のことです。この要素が存在する場合でも、URL全体が必要な場合はどうなりますか?ドキュメントを取得するためにどのメソッドを呼び出すことができますか?

サンプルコード

Document doc = null;
try {
   doc = Jsoup.connect(url).userAgent("Mozilla").get();
} catch (IOException e) {
        e.printStackTrace();
}
System.out.println(doc.baseUri());
4

2 に答える 2

0

Response オブジェクトには、最終的な URL を提供する url() メソッドがあります。だからあなたは好きにすることができます

String url = "http://t.co/i5dE1K4vSs";
Response response = Jsoup.connect(url).followRedirects(true).execute();
System.out.println(response.url());
于 2015-09-03T11:34:12.847 に答える
0

ベース URI のポイントは、ソース ( <a href="/foo">) 内の相​​対 URL を絶対 URL に解決することです。ドキュメントは、メタ タグを使用してベース URI にすることができます。設定されていない場合は、フェッチされた場所がデフォルトになります。

ソース URL を取得する必要があるユースケースは何ですか? あなたはそれが何であるかをすでに知りませんか?

于 2013-03-14T23:42:23.513 に答える