An invalid request was received from your browser...Required header \'Accept\' missing

本文介绍了解决通过HttpClient访问网站时遇到的403错误问题。该错误是由于请求头中缺少必要的Accept字段导致的。通过增加Accept等字段后,成功实现了对目标网站的正常访问。

    昨天通过HttpClient访问一个网站的时候,响应提示403的错误:   

An invalid request was received from your browser. This may be caused by a malfunctioning proxy server or browser privacy software. Required header \'Accept\' missing

    这样的提示是因为header中少了必须的Accept头,我访问了不少其它的网站,倒没有出现在这样的问题,原来只是传了User-Agent这个请求头:   

headers.add(new Header("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Ubuntu/10.04 Chromium/8.0.552.224 Chrome/8.0.552.224 Safari/534.10"));

    将请求头补充上Accept,完整的请求头如下:   

        headers.add(new Header("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Ubuntu/10.04 Chromium/8.0.552.224 Chrome/8.0.552.224 Safari/534.10"));
        headers.add(new Header("Accept", "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"));
        headers.add(new Header("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.3"));
        headers.add(new Header("Accept-Encoding", "gzip,deflate,sdch"));
        headers.add(new Header("Accept-Language", "en-US,en;q=0.8"));
        headers.add(new Header("Cache-Control", "max-age=0"));

    这样就可以正常访问了,没有传COOKIE,这个是不需要登陆的,没有必要的。

本文出自:冯立彬的博客






   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值