CURL
curl获取重定向 301 302 后的链接值,使用到curl中的curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);和curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);CURLOPT_FOLLOWLOCATION : TRUE 时将会根据服务器返回 HTTP 头中的 "Location: " 重定向。注意:这是递归的,"Location: " 发送几次就重定向几次,除非设置了 CURLOPT_MAXREDIRS,限制最大重定向次数
$url = ''; $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手册:https://www.php.net/manual/zh/function.curl-setopt.php
file_get_contents
file_get_contents($url); preg_match('/(Location:|URI:)(.*?)\n/', implode("\n", $http_response_header), $matches); if (isset($matches[0])) { echo $matches[0]; }else{ echo $matches[0]; }
本文作者为Mr.Bai,转载请注明。
顶一下