org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403 爬取网站出现403错误

爬取网站的时候 conn = Jsoup.connect(url).timeout(5000).get();直接用get方法,有些网站可以正常爬取。

但是有些网站报403错误,403是一种在网站访问的过程中,常见的错误提示。表示资源不可用,服务器理解客户对的请求,但是拒绝处理它,通常由服务器上文件或者目录的权限设置导致的web访问错误。

解决方法无非就是从这几个角度:useragent,referer,token,cokkie

所以我们给连接添加模拟浏览器的header:

conn = Jsoup.connect(url).timeout(5000);
conn.header(“Accept”, “text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8”);
conn.header(“Accept-Encoding”, “gzip, deflate, sdch”);
conn.header(“Accept-Language”, “zh-CN,zh;q=0.8”);
conn.header(“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36”);

然后再执行conn.get()

就可以得到数据了。

推荐一款特别好用的抓包工具: fiddler

 

本文转自:https://blog.csdn.net/qqnbsp/article/details/78258436

本站的文章多是老王开发工作中问题的记录,一个字一个字敲的,切实可行,可以分享,需要留个原文链接,至少也意思意思吧!
vsalw技术博客! » org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403 爬取网站出现403错误

每个人都是以自己独特的方式体味生活,或许别人不理解,但自己知道:其中的酸甜苦辣就叫做幸福!

认同! 瞎扯淡!