0

私は次のコードを持っています:

String website = "http://www.somewebsite.com/";

Document doc = Jsoup.connect(website).get();

Elements aElements = doc.select("a");

for (Element element : aElements)
{
    System.out.println(element.attr("href"));
}

hrefコンテンツの出力を見ると、次のようになっています。

?nats = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&img = 1?nats = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&img = 2?nats = MzQ2NDAwLjQuNDYuNDYuMS43MDA

ブラウザ(Firefox)でWebページにアクセスすると、hrefコンテンツは次のようになります。

... / .. / .. /
picture1.jpg ... /../../picture2.jpg ...
/../../picture3.jpg
... / .. / .. / picture4 .jpg

次のコードを使用して、「Referer」変数をWebサイト名に変更してみました。

Document doc = Jsoup.connect(website).header("Referer", "http://www.somewebsite.com/").get();

しかし、それはうまくいきません。

Jsoupの「ダウンローダー」からhrefコンテンツを何らかの方法で「非表示」にし、実際のブラウザーで実際に閲覧しているときに表示することができるのはなぜですか。

どうすれば回避できますか?

4

1 に答える 1

0

userAgentメソッドの引数を設定することで問題を解決しました。

Document doc2 = Jsoup.connect(website).userAgent("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)").get();
于 2012-06-21T08:04:16.483 に答える