您好,欢迎光临! 推荐您使用Chrome浏览器访问本站。

php取不到curl来路的HTTP_ACCEPT_LANGUAGE

原因是在发起curl时未加HTTP_ACCEPT_LANGUAGE的header信息

添加
 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept-Language: zh-CN,zh;"))
可以加入更多的信息

一个较完整例子:
<?php
$url = "https://www.baidu.com/";
$ch = curl_init();
// 设置浏览器的特定header
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
 "Host: www.baidu.com",
 "Connection: keep-alive",
 "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
 "Upgrade-Insecure-Requests: 1",
 "DNT:1",
 "Accept-Language: zh-CN,zh;",
 'Cookie:_za=4540d427-eee1-435a-a533-66ecd8676d7d; "',
 )
);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0');
// 在HTTP请求头中"Referer: "的内容。
curl_setopt($ch, CURLOPT_REFERER, "https://www.baidu.com/");
curl_setopt($ch, CURLOPT_ENCODING, "gzip, deflate, sdch");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //302redirect
// 针对https的设置
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$html = curl_exec($ch);
curl_close($ch);
if ($html === false) {
 echo 'Curl error: ' . curl_error($ch) . "<br>\n\r";
} else {
 echo $html;
}
?>

参考:
https://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html
https://curl.haxx.se/libcurl/c/CURLOPT_HEADER.html

您可能也喜欢