我正在使用抓取工具,我想知道该网页是否接受多种语言。 我的要求如下:
GET www.stackoverflow.com HTTP/1.1 Host: www.stackoverflow.com Accept-Language: en
我如何知道他们是否接受多种语言?在标题? 内容语言只指定一个?
(这是一个示例标题,而不是stackoverflow答案)
HTTP/1.1·200·OK Date:·Sat,·06·Set·2014·15:52:50·GMT Server:·Apache/2 Content-Location:·qa-http-and-lang.en.php Vary:·negotiate,accept-language,Accept-Encoding TCN:·choice P3P:·policyref="http://www.w3.org/2001/05/P3P/p3p.xml" Connection:·close Transfer-Encoding:·chunked Content-Type:·text/html; charset=utf-8 Content-Language:·en
答案 0 :(得分:0)
首先,您不必设置Accept-Language属性。您只需要解析HTTP响应并获取Content-Language。它应该具有内容所针对的所有语言的值。如果未指定内容语言,则默认情况下该内容适用于所有语言受众。这可能意味着发件人不认为它特定于任何自然语言,或者发件人不知道它的用途是什么语言。
因此,如果指定了Content-Language且值超过1,则页面接受多种语言,如果未指定Content-Language,则应决定是否认为它接受多种语言。
参考:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.12
希望有所帮助