「人生若只如初见」

「人生若只如初见」

正在加载诗词...

PHP案例实现“万能”的短网址还原功能

  • kevin 2026年04月07日 8阅读 0评论
  • 常见的短网址都是通过 301 或 302 跳转的方式实现重定向到目标网站的,因此我们可以使用 PHP 的 curl_getinfo 来取得 header 中的重定向地址,也就是短网址对应的原始网址(嗯,原理就是这么简单……

    代码如下

    /***
     * 万能短网址还原函数
     * @param $shortUrl 短网址
     * @return 原始网址 | 空(还原失败或非短网址)
     */function restoreUrl($shortUrl) {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $shortUrl);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0');
        curl_setopt($curl, CURLOPT_HEADER, true);
        curl_setopt($curl, CURLOPT_NOBODY, false);
        curl_setopt($curl, CURLOPT_TIMEOUT, 15);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
        $data = curl_exec($curl);
        $curlInfo = curl_getinfo($curl);
        curl_close($curl);    if($curlInfo['http_code'] == 301 || $curlInfo['http_code'] == 302) {        return $curlInfo['redirect_url'];
        }    return '';
    }

    使用方法

    $shortUrl = 'https://url.cn/54VbB8h';    
    // 要还原的短网址
    $orinalUrl = restoreUrl($shortUrl);
    if($orinalUrl) {    
    echo "短网址 {$shortUrl} 的还原结果:{$orinalUrl}";
    } else {  
    echo "短网址还原失败";
    }
    0
    打赏

    —— 评论区 ——

    请登录后发表评论
    立即登录 用户注册
    LOGIN