我有以下代码:
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 = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&安培; IMG = 3 ?NATS = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&安培; IMG = 4
当我使用浏览器(Firefox)访问网页时,href内容如下所示:
... / .. / .. / picture1.jpg
... / .. / .. / picture2.jpg
... / .. / .. / picture3.jpg
... / .. / .. / picture4.jpg
我尝试使用以下代码将“Referer”变量更改为网站名称:
Document doc = Jsoup.connect(website).header("Referer", "http://www.somewebsite.com/").get();
但这不起作用..
网站如何以某种方式“隐藏”我的Jsoup“下载程序”中的href内容,但在我实际浏览真实浏览器时显示它?
我怎样才能绕过它?
答案 0 :(得分:0)
通过设置userAgent方法的参数来解决问题:
Document doc2 = Jsoup.connect(website).userAgent("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)").get();