常见的短网址都是通过 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 "短网址还原失败";
}

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

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

PHP实现短网址还原相关推荐

  1. 短网址生成+域名检测+短网址还原等四合一前端源码

    介绍: 短网址生成+域名检测+短网址还原等四合一前端源码没有功能哦~!有会后端技术的可以拿去开发用!页面还是挺漂亮的,里面还有很多子页面都非常的好看! 网盘下载地址: http://kekewangL ...

  2. 短网址还原 php,学习php简单实现短网址(短链)还原的方法

    本文实例讲述了php简单实现短网址还原的方法.分享给大家供大家参考,具体如下: 相关学习推荐:php编程(视频) 具体代码如下: <?php $info1 = '亲!暂不能解析此类短网址.'; ...

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

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

  4. 推荐丨t.cn/…、dwz.cn/…、url.cn/… 等短网址链接的还原工具

    推荐丨t.cn-.dwz.cn-.url.cn- 等短网址链接的还原工具 短网址 短网址介绍 在微博等平台,如果发布和评论的时候添加链接,那么后台一般会将域名转换为 t.cn 等形式. 另外还有: 百 ...

  5. [PHP]如何用PHP实现还原短网址的真实地址的功能

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

  6. php短地址重定向怎么获取地址参数,PHP还原短网址原链接 获取短网址跳转的原地址 获取301重定向原页面地址函数...

    通常有些项目我们在遇到短网址的时候需要获取原地址当中的参数,短网址一般是使用301重定向的方式将访问重定向到新的页面上去,我们在页面的header 信息中可以获取到原链接地址,通过下面的PHP函数读取 ...

  7. php 短网址 算法,php生成短网址的思路以及实现方法

    短网址流行的已经有一段时间了,以前做新浪微博应用的时候就有接触,但没有搞清楚,最近再次接触到这个东东,仔细研究了下,发现短网址其实也挺容易的.下面就将本次对于生成短网址的思路以及使用php生成短网址的 ...

  8. PT短网址缩短还原网站源码,php版+html版

    简介: PT短网址缩短还原网站源码,无需数据库,调用第三方API接口,php版+html版双版本源码 源码使用方法: 直接上传到你的站点即可,接口在api.php内部,可以添加,记得在index.ht ...

  9. php 短网址的生成和还原原理

    2019独角兽企业重金招聘Python工程师标准>>> 欢迎转载,转载请注明出处.本文地址:http://www.yi-yan-tang.com/article/85.html [转 ...

  10. 综合短网址缩短和还原源码

    简介: 直接上传到你的站点即可,接口在api.php里面,自己对照着添加修改, 记得在index.html里面添加单选,短网址接口里面写好了三个,需要更多自己添加 因为很多目前免费的短网址接口都要么有 ...

最新文章

  1. PHP5 加速模块OPcache
  2. 学习Kotlin(一)为什么使用Kotlin
  3. Java判断一组数字是否是等差数列
  4. maven编译项目时提示:cached in the local repository
  5. css3动画 --- Animation
  6. 微服务架构模式下配置管理
  7. ISA 2004 Site-To-Site ×××截图详解
  8. DOS命令追加符的使用
  9. 我的WCF之旅(13):创建基于MSMQ的Responsive Service(转载)
  10. angularjs外部文件中的控制器使用
  11. OpenWrt路由器通过Aria2开启迅雷离线下载[图文教程]
  12. ikbc键盘win键失灵原因
  13. 1字符集 iso latin_ISO Latin-1字符集
  14. OverTheWire-Bandit
  15. mysql创建储存过程 输入学生名子_创建一个存储过程,给定某学生学号,要求查询出该学生的姓名,所选课程名和成绩.(SQL SERVER)...
  16. Java_JDK19.0.2_Ubuntu18.04中配合海康工业相机SDK环境搭建
  17. 笔记:云相关基础知识
  18. 【一天一门编程语言】Lisp 语言程序设计极简教程
  19. PhpOffice——PHPWord导入导出水印模板替换
  20. 服务器端渲染和客户端渲染有什么区别?

热门文章

  1. 生物信息之独孤九剑——awk
  2. java转置输出_在java中如何将一个5*3的二维数组转置输出
  3. 金庸在浙江大学招博士生的考卷
  4. 计算机读不出来u盘装系统,重装系统后电脑u盘读不出来
  5. excel 点击 计数_跟踪Excel计数功能
  6. R语言入门-数据分析实操(tyidyverse工作流+代码)
  7. c语言最大乘积问题,利用C语言来求最大连续子序列乘积的方法
  8. 优秀网页翻译:将您的 Raspberry Pi 文件系统设为只读 (Raspbian Buster)
  9. mysql聚合函数求数据总和的语句,MySQL数据库考试试题和答案
  10. NPOI读取Word模板并保存