• org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403


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

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

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

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

    1. <span style="white-space:pre;">         </span>conn = Jsoup.connect(url).timeout(5000);  
    2.             conn.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");  
    3.             conn.header("Accept-Encoding", "gzip, deflate, sdch");  
    4.             conn.header("Accept-Language", "zh-CN,zh;q=0.8");  
    5.             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()

    就可以得到数据了。

  • 相关阅读:
    怎么使用git来管理项目版本?
    《我的四季》 张浩
    [代码片段]读取BMP文件(二)
    [代码片段]读取BMP文件
    《构建之法》阅读笔记02
    二维数组
    学习进度二
    《构建之法》阅读笔记01
    数组
    软件工程第一周开课博客
  • 原文地址:https://www.cnblogs.com/qianzf/p/9050875.html
Copyright © 2020-2023  润新知