PHP curl获取302重定向跳转后的URL(针对火山小视频)


代码如下:

<?php
error_reporting(0);
//获取302跳转后的url
function get_302_url($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    //curl_setopt($ch, CURLOPT_VERBOSE, true);// 报告每一件意外的事情
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);//当根据Location:重定向时,自动设置header中的Referer:信息
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//启用时会将服务器服务器返回的"Location: "放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。
    // 下面两行为不验证证书和 HOST,建议在此前判断 URL 是否是 HTTPS
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    // $ret 返回跳转信息
    $ret = curl_exec($ch);
    // $info 以 array 形式返回跳转信息
    $info = curl_getinfo($ch);
    // 跳转后的 URL 信息
    $retURL = $info['url'];
    // 记得关闭curl
    echo $retURL;
    curl_close($ch);
}
$url = "https://share.huoshan.com/hotsoon/s/RzkXwpYy700/";
get_302_url($url);

参考链接:
php curl选项列表(超详细)_php技巧_脚本之家

声明:iqiqiya的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - PHP curl获取302重定向跳转后的URL(针对火山小视频)


越努力越幸运!