快捷导航
收起左侧

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

[复制链接]
查看: 10004|回复: 11
  • 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



    该用户从未签到

    发表于 2026-1-31 23:22:46 | 显示全部楼层
    【信誉第一】 微xs983320果博东方173 8744 5479果博东方福布斯
    第一步,点击首页右上角的“注册”按钮,填写您希望使用的账号。

    第二步,在弹出的注册窗口中,输入手机号码、验证码及密码等信息。

    接着勾选用户协议,然后点击“注册”按钮。页面会显示注册成功的消息,或提示账号已存在。同一个账号一旦被他人注册,将无法重复使用。

    第三步,系统会向手机发送一条验证码信息,输入验证码后,点击“确认”按钮以完成注册。琶治检呵刹眨腾屏庸大尸
    回复

    该用户从未签到

    发表于 2026-2-1 00:22:58 | 显示全部楼层
    【信誉第一】 微xs983320果博东方173 8744 5479果博东方福布斯
    第一步,点击首页右上角的“注册”按钮,填写您希望使用的账号。

    第二步,在弹出的注册窗口中,输入手机号码、验证码及密码等信息。

    接着勾选用户协议,然后点击“注册”按钮。页面会显示注册成功的消息,或提示账号已存在。同一个账号一旦被他人注册,将无法重复使用。

    第三步,系统会向手机发送一条验证码信息,输入验证码后,点击“确认”按钮以完成注册。拎粥厌拼迢亢播丛斡乔弄
    回复

    该用户从未签到

    发表于 2026-2-1 01:23:23 | 显示全部楼层
    【信誉第一】 微xs983320果博东方173 8744 5479果博东方福布斯
    第一步,点击首页右上角的“注册”按钮,填写您希望使用的账号。

    第二步,在弹出的注册窗口中,输入手机号码、验证码及密码等信息。

    接着勾选用户协议,然后点击“注册”按钮。页面会显示注册成功的消息,或提示账号已存在。同一个账号一旦被他人注册,将无法重复使用。

    第三步,系统会向手机发送一条验证码信息,输入验证码后,点击“确认”按钮以完成注册。恤飘郸闸岸歧脯洒啡防锤
    回复

    该用户从未签到

    发表于 2026-2-1 03:19:02 | 显示全部楼层
    【信誉第一】 微xs983320果博东方173 8744 5479果博东方福布斯
    第一步,点击首页右上角的“注册”按钮,填写您希望使用的账号。

    第二步,在弹出的注册窗口中,输入手机号码、验证码及密码等信息。

    接着勾选用户协议,然后点击“注册”按钮。页面会显示注册成功的消息,或提示账号已存在。同一个账号一旦被他人注册,将无法重复使用。

    第三步,系统会向手机发送一条验证码信息,输入验证码后,点击“确认”按钮以完成注册。透串薛沃饰罕晴琢忍活品
    回复

    该用户从未签到

    发表于 2026-2-1 04:21:48 | 显示全部楼层
    【信誉第一】 微xs983320果博东方173 8744 5479果博东方福布斯
    第一步,点击首页右上角的“注册”按钮,填写您希望使用的账号。

    第二步,在弹出的注册窗口中,输入手机号码、验证码及密码等信息。

    接着勾选用户协议,然后点击“注册”按钮。页面会显示注册成功的消息,或提示账号已存在。同一个账号一旦被他人注册,将无法重复使用。

    第三步,系统会向手机发送一条验证码信息,输入验证码后,点击“确认”按钮以完成注册。藻怪误座航求器憋燃崎圆
    回复

    该用户从未签到

    发表于 2026-2-1 06:51:09 | 显示全部楼层
    【信誉第一】 微xs983320果博东方173 8744 5479果博东方福布斯
    第一步,点击首页右上角的“注册”按钮,填写您希望使用的账号。

    第二步,在弹出的注册窗口中,输入手机号码、验证码及密码等信息。

    接着勾选用户协议,然后点击“注册”按钮。页面会显示注册成功的消息,或提示账号已存在。同一个账号一旦被他人注册,将无法重复使用。

    第三步,系统会向手机发送一条验证码信息,输入验证码后,点击“确认”按钮以完成注册。右巫桨娱乘信沈稽科劝琅
    回复

    该用户从未签到

    发表于 2026-2-1 09:51:16 | 显示全部楼层
    【信誉第一】 微xs983320果博东方173 8744 5479果博东方福布斯
    第一步,点击首页右上角的“注册”按钮,填写您希望使用的账号。

    第二步,在弹出的注册窗口中,输入手机号码、验证码及密码等信息。

    接着勾选用户协议,然后点击“注册”按钮。页面会显示注册成功的消息,或提示账号已存在。同一个账号一旦被他人注册,将无法重复使用。

    第三步,系统会向手机发送一条验证码信息,输入验证码后,点击“确认”按钮以完成注册。牡舒安奉同骗烂掸灌疲剖
    回复

    本版积分规则

    精彩推荐

    [影视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源码

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

    2019-06-26 APP源码

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

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

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

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

    云服务支持

    精彩内容,快速检索

    关注我们

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