加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php curl获取302跳转后的链接

发布时间:2020-05-25 02:52:57 所属栏目:PHP 来源:互联网
导读:本文章向大家介绍php curl获取302跳转后的链接,主要包括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;

}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读