当前位置:首页 » 技术教程 » 实用教程 » 详情

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

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

完整的函数代码如下:


PHP
	
  1. /***
  2. * 万能短网址还原函数
  3. * @param $shortUrl 短网址
  4. * @return 原始网址 | 空(还原失败或非短网址)
  5. */
  6. function restoreUrl($shortUrl) {
  7. $curl = curl_init();
  8. curl_setopt($curl, CURLOPT_URL, $shortUrl);
  9. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  10. curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0');
  11. curl_setopt($curl, CURLOPT_HEADER, true);
  12. curl_setopt($curl, CURLOPT_NOBODY, false);
  13. curl_setopt($curl, CURLOPT_TIMEOUT, 15);
  14. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  15. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
  16. curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
  17. $data = curl_exec($curl);
  18. $curlInfo = curl_getinfo($curl);
  19. curl_close($curl);
  20. if($curlInfo['http_code'] == 301 || $curlInfo['http_code'] == 302) {
  21. return $curlInfo['redirect_url'];
  22. }
  23. return '';


  1. }
  2. 使用方法:

    PHP
    					
    1. $shortUrl = 'https://url.cn/54VbB8h'; // 要还原的短网址
    2. $orinalUrl = restoreUrl($shortUrl);
    3. if($orinalUrl) {
    4. echo "短网址 {$shortUrl} 的还原结果:{$orinalUrl}";
    5. } else {
    6. echo "短网址还原失败";
    7. }

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

    • 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 跳转的短网址就无能为力了~_



打赏站长

打赏方式:

X
  • 支付宝
  • 微信
  • QQ红包

打开支付宝扫一扫
文章作者:︻$▅▆▇◤ 日期:2021年03月25日 星期四   分类:实用教程   浏览(801)
本文地址:https://www.zzjjd.cn/syjc/56.html   [百度正在收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
本文最后更新于2021-3-25,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

留言咨询

自动获取QQ

昵称

邮箱

网址

寻元素 - 专注免抠png素材设计网站

    寻元素 - 专注免抠png素材设计网站

关于我们

    站长导航网提供网站SEO优化、SEM推广营销(百度/360/搜狗收录优化)、企业建站、搜索引擎教学等服务。
    联系我们:给我发QQ消息 加入QQ群

站点统计

  • 收录网址:308 个
  • 黑名单:4 个
  • 发布文章:2247 条
  • 总访问量:970052次
  • 评论总数:15 条
  • 用户总数:239
  • 本站运行:2年4月
展开
关闭 提交收录 审核状态 SEO实战 SEO外链 在线工具 资源大全 骗子公布 本站公告

Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/www.zzjjd.cn/content/templates/sldh3_0/footer.php:296) in /www/wwwroot/www.zzjjd.cn/include/lib/view.php on line 23