您的位置:首页 > 理论基础 > 计算机网络

Jsoup无法获取document内容报告403错误(网络错误)

2016-04-02 00:00 453 查看
报告403错误, 是因为权限问题,以百度知道为例

Document doc = Jsoup.connect("http://zhidao.baidu.com/daily").get();


直接使用会报403错误

解决办法:

Document doc = Jsoup.connect("
.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0")
.get();


有些网站的服务器在响应http请求的时候,需要客户端提交的信息比较完善,而在Jsoup的Connection类中这个Header就是完善请求信息用的。
我们的浏览器在请求网页的时候会在请求的头部head中发送一些数据,比如浏览器类型,版本,语言等等。当我们用Jsoup去完成请求网页的工作时,最好也要完善请求包头信息,完成这个工作的就是header方法。
header查看方法:用火狐的 firebug 或google 浏览器看着比较方便 快捷键:F12
https获得方法:
Connection 接口还提供一个方法链来解决特殊请求,具体如下:

Document doc = Jsoup.connect("http://zhidao.baidu.com/daily")
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post();

这个方法只支持Web URLs (http和https 协议)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: