11
2025
04
00:40:49

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

常见的短网址都是通过 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 '';

}


使用方法:

/***

 * 万能短网址还原函数

 * @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 '';

}


经过实测,该函数可以顺利实现下列短网址的还原:

  • https://url.cn/54VbB8h

  • http://t.cn/AiR8Qoyp

  • http://uee.me/cAhq8

  • http://rrd.me/eWCg3

  • https://sohu.gg/MSYnnHo02

  • https://dwz.cn/I5l2YWKL

  • http://1t.click/bceu

  • http://dwz.win/qMp

  • http://qq.cn.hn/e8N

  • http://tb.cn.hn/x7X

  • http://jd.cn.hn/aaK9

  • http://tinyurl.com/y5gkl3v9

  • http://u6.gg/sLaav

  • http://c7.gg/fQBWn

  • http://985.so/ejaT

  • http://new.3qtt.cn/1hqafu

  • http://dwz1.cc/DvjLsDcC

  • https://ml.mk/‌‌‌‌‌‌‌‌‌‌‌/

  • https://ml.mk/BvZ

  • http://suo.im/555AiB

  • https://suo.dog/msugd

  • http://sina.lt/eEyd

  • http://mrw.so/4woTLt

不过,诸如 https://m.tb.cn/h.ew5NAEA 这种在前端使用 js 跳转的短网址就无能为力了~_~




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/10366.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: