您尝试访问的特定Web服务器正在检查
User-AgentHTTP标头,并拒绝访问任何看起来不像普通浏览器的内容,以防止出现bot(这可能就是您正在编写的内容)。
您只需要在Java中将标头设置为请求的一部分即可使用。
设置标题的方式将取决于您进行连接的方式,但是如果您使用的是简单的URLConnection,则可以使用:
URLConnection conn = url.openConnection();conn.setRequestProperty("User-Agent", "Mozilla/5.0");
通常,“真实”
User-Agent包含许多额外信息,但是该网络服务器似乎只寻找基本的浏览器类型。
您可以通过
wget使用和不使用
-UUser-Agent选项来证明这一点:
$ wget "http://www.kohls.com/search.jsp?search=jacket&submit-search=web-regular"--2015-05-07 16:08:46-- http://www.kohls.com/search.jsp?search=jacket&submit-search=web-regular2015-05-07 16:08:46 ERROR 403: Forbidden.$ wget -U "User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0" "http://www.kohls.com/search.jsp?search=jacket&submit-search=web-regular"--2015-05-07 16:08:49-- http://www.kohls.com/search.jsp?search=jacket&submit-search=web-regularawaiting response... 200 OK...
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)