php curl获取302跳转后的链接
|
单个获取 function get_redirect_url($url) { $ch = curl_init($url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_REFERER,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/64.0.3282.119 Safari/537.36'); $content = curl_exec($ch); $redirect_url = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL); $redirect_url = ($redirect_url == $url) ? $url : $redirect_url; curl_close($ch); return $redirect_url; } curl模拟多线程同时获取多个 function get_redirect_url($links) { //curl模拟多线程 $mh = curl_multi_init(); foreach ($links as $i => $link) { $conn[$i] = curl_init($link); curl_setopt($conn[$i],1); curl_setopt($conn[$i],$link); curl_setopt($conn[$i],CURLOPT_TIMEOUT,60); //超时时间 curl_setopt($conn[$i],false); curl_setopt($conn[$i],'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/71.0.3551.3 Safari/537.36'); curl_multi_add_handle($mh,$conn[$i]); } $active = null; do { curl_multi_exec($mh,$running); curl_multi_select($mh); } while ($running > 0); $result = []; //获取page内容 foreach ($links as $i => $link) { $redirect_url = curl_getinfo($conn[$i],CURLINFO_EFFECTIVE_URL); curl_close($conn[$i]); $result[$i] = ($redirect_url == $link) ? $link : $redirect_url; } return $result; } (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
