我正在尝试使用HTTP标头中的以下设置在我的客户端(而不是浏览器)中提取网页
Accept: "text/html;charset=UTF-8"
Accept-Charset: "ISO-8859-1"
User-Agent: "Mozilla/5.0"
然而我收到错误代码406, 我也试过换到;
Accept: "text/html"
没有成功;响应头中的错误代码和状态消息是
statusCode: 406
statusMessage: "Not Acceptable"
任何想法应该是正确的标题设置,页面在浏览器中正常加载
答案 0 :(得分:1)
终于想通了,我跑了一个嗅探器,看看哪个标头设置有效,这里有什么效果
标题:{ 'User-Agent':'Mozilla / 5.0(Macintosh; U; Intel Mac OS X; de-de)AppleWebKit / 523.10.3(KHTML,类似Gecko)Version / 3.0.4 Safari / 523.10', 'Accept-Charset':'ISO-8859-1,UTF-8; q = 0.7,*; q = 0.7', '接受语言':'de,en; q = 0.7,en-us; q = 0.3' }
答案 1 :(得分:0)
您应该添加Accept-Language
。见Here
答案 2 :(得分:-1)
为什么要发送矛盾的标题?您正在请求同时为UTF8和ISO-8859-1的表示。我想您可以将请求解释为7位ASCII表示。
在这种情况下,我会省略Accept-Charset
并将Accept
标题更改为text/html, */*;q=0.1
,这样您就可以获得强烈偏好HTML的内容。有关这些标头的详细信息,请参阅the Content Negotiation section of RFC7231。