快捷导航
收起左侧

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

[复制链接]
查看: 6430|回复: 0
  • TA的每日心情
    郁闷
    2024-1-13 20:31
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2022-7-26 00:33:19 | 显示全部楼层 |阅读模式
    <
    常见的短网址都是通过 301 或 302 跳转的方式实现重定向到目标网站的,因此我们可以使用 PHP 的 curl_getinfo来取得 header 中的重定向地址,也就是短网址对应的原始网址(嗯,原理就是这么简单…… 49.png
    [PHP] 纯文本查看 复制代码
    /***
    * 万能短网址还原函数
    * @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 '';
    }

    使用方法:
    [PHP] 纯文本查看 复制代码
    $shortUrl = 'https://url.cn/54VbB8h';    // 要还原的短网址
    $orinalUrl = restoreUrl($shortUrl);
    if($orinalUrl) {
        echo "短网址 {$shortUrl} 的还原结果:{$orinalUrl}";
    } else {
        echo "短网址还原失败";
    }
    经过实测,该函数可以顺利实现下列短网址的还原: 47.png
    • 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&#8203;
    • http://suo.im/555AiB
    • https://suo.dog/msugd
    • http://sina.lt/eEyd
    • http://mrw.so/4woTLt
    不过,诸如 https://m.tb.cn/h.ew5NAEA 这种在前端使用 js 跳转的短网址就无能为力了~_~
    1.png



    本版积分规则

    精彩推荐

    [影视APP]五级分销版全网VIP影视APP源码,

    2019-01-19 APP源码

    [双端影视]影视双端APP带商城系统,全新后

    2019-06-18 APP源码

    [双端盒子]影视双端直播盒子源码,自定义资

    2019-08-20 APP源码

    [影视APP]代理全局广告版五级分销全网VIP影

    2019-02-27 APP源码

    [影视双端]360影视双端H5源码2.0三级分销版

    2019-09-25 APP源码

    [影视双端主题]无限代理版星空极简双端H5前

    2019-03-05 APP源码

    [影视双端]双端影视APPV3全新后台,下载页

    2019-06-29 APP源码

    [影视双端]360影视双端H5源码,ThinkPHP新

    2019-06-26 APP源码
    嗨,AV8D ~!X

    喜欢给你阳光,让你充满活力!

    • 反馈建议:2308883803@qq.com
    • 工作时间:周一~周五

    云服务支持

    精彩内容,快速检索

    关注我们

    Copyright© 盒子云 - 你笑起来真好看~  Powered by Discuz!    ( 蜀ICP备18033287号-3 )