当我访问谷歌时,我的代码给了我http状态代码302,但当我使用firefox浏览器访问并使用firebug检查状态时,状态是200。
这是我的代码:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
我也尝试过get_headers,但它给了我301状态
get_headers($url);
编辑:结果低于
array (size=26)
'url' => string 'https://www.google.com.cy/?gws_rd=cr&ei=SIeOUo7bGuKH0AWO14CYDQ' (length=62)
'content_type' => string 'text/html; charset=UTF-8' (length=24)
'http_code' => int 302
'header_size' => int 1673
'request_size' => int 317
'filetime' => int -1
'ssl_verify_result' => int 0
'redirect_count' => int 2
'total_time' => float 0.561
'namelookup_time' => float 0
'connect_time' => float 0.078
'pretransfer_time' => float 0
'size_upload' => float 0
'size_download' => float 0
'speed_download' => float 0
'speed_upload' => float 0
'download_content_length' => float 0
'upload_content_length' => float 0
'starttransfer_time' => float 0
'redirect_time' => float 0.405
'certinfo' =>
array (size=0)
empty
'primary_ip' => string '173.194.112.247' (length=15)
'primary_port' => int 443
'local_ip' => string '192.168.2.3' (length=11)
'local_port' => int 55015
'redirect_url' => string '' (length=0)
您正在为Google使用哪个URL?
我用了你上面的代码,设置:
$url = 'http://www.google.com';
并且在卷曲信息中接收到200响应。
我正在测试的完整代码:
奇怪-我正在使用:
$url = 'http://www.google.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
var_dump($info);
我收到的var_dump输出:
数组(26){["url"]=>字符串(61)"https://www.google.co.uk/?gws_rd=cr&ei=fIaOUsflOqn0QXy74DYDg"["content_type"]=>string(24)"text.html;charset=UTF-8"["http_code"]=>int(200=>浮点(0.082954)["size_upload"]=>浮点(0)["size _download"]=>浮动(119772)["speed_download"]=>float(418252)["speed_pload"]=>浮点(0)["download_content_length"]=>浮动(262=>string(12)"192.168.0.15"["local_port"]=>int(54606)["redirect_url"]=>字符串(0)"}
啊!谷歌正在通过GEO-IP或类似方式定位你,并将你重定向到当地的谷歌镜像。
请参阅:https://webapps.stackexchange.com/questions/46591/what-does-gws-rd-cr-in-the-url-indicate
因此,当他们重定向您时,302代码是正确的。
尝试使用URL:https://www.google.com/ncr(ncr代表无国家重定向),看看你的进展如何。