使用php获取301/302跳转后的真实地址

更新时间:2018-08-17 16:33:00点击:49

使用php获取301/302跳转后的真实地址,需要打开CURL扩展才可以;

function get302Url($url)
{

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

    $content = curl_exec($ch);
    $retVal  = array();
    $fields  = explode("\r\n", @preg_replace_callback('/\x0D\x0A[\x09\x20]+/', 'a', $content));
    foreach ($fields as $field) {
        if (preg_match('/([^:]+): (.+)/m', $field, $match)) {
            $match[1] = @preg_replace_callback('/(?<=^|[\x09\x20\x2D])./', 'b', strtolower(trim($match[1])));
            if (isset($retVal[$match[1]])) {
                $retVal[$match[1]] = array($retVal[$match[1]], $match[2]);
            } else {
                $retVal[$match[1]] = trim($match[2]);
            }
        }
    }
    if (!is_array($retVal)) {
        return false;
    }
    return $retVal['location'];
}

var_dump(get302Url('http://www.baidu.com/link?url=7KrF9P-FGZKUl4n0n26npz1iPc__P5OLfgKFXRD1SK5Z9A_VxGf_FL34s00UQJII'));


文章关键词  使用php获取301/302跳转后的真实地址

注:本文转载自林州网站建设工作室,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。