php curl url跳转,php curl获取重定向Location后的url

php curl获取重定向 301 302 Location后的url值,使用到curl中的curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);设置和curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);来获取url。

CURLOPT_FOLLOWLOCATION : TRUE 时将会根据服务器返回 HTTP 头中的 "Location: " 重定向。(注意:这是递归的,"Location: " 发送几次就重定向几次,除非设置了 CURLOPT_MAXREDIRS,限制最大重定向次数。)。$url = 'http://zixuephp.net';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  //返回重定向url

$return_url = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL); //获取重定向url

$response = curl_exec($ch);

$error = curl_error($ch);

echo '重定向url:'.$return_url;

php curl手册:http://php.net/manual/zh/function.curl-setopt.php