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 '';
}
使用方法:
$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 跳转的短网址就无能为力了~_~
1.本站所有资源收集于互联网和用户上传,如有侵权请联系客服删除;
2.本站不保证所提供下载资源的准确性、安全性和完整性,请自行测试;
3.资源仅供学习交流使用,版权归原作者所有,请在下载后24小时之内删除;
4.如用于商业或非法用途实属个人行为,与本站无关,一切后果由用户自负;
5.本站提供的源码、主题模板、插件等资源,都不包含技术服务,请大家谅解;
6.本站所设置的资源售价只是用于赞助,收取费用仅维持本站的日常运营所需;
7.如果您有好的源码或者教程,请至个人中心发布资源,将有积分奖励和额外收入;
8.本站默认解压密码:www.ittiantang.com,如有链接无法下载,请联系管理员处理。
IT天堂 » PHP 实现“万能”的短网址还原
2.本站不保证所提供下载资源的准确性、安全性和完整性,请自行测试;
3.资源仅供学习交流使用,版权归原作者所有,请在下载后24小时之内删除;
4.如用于商业或非法用途实属个人行为,与本站无关,一切后果由用户自负;
5.本站提供的源码、主题模板、插件等资源,都不包含技术服务,请大家谅解;
6.本站所设置的资源售价只是用于赞助,收取费用仅维持本站的日常运营所需;
7.如果您有好的源码或者教程,请至个人中心发布资源,将有积分奖励和额外收入;
8.本站默认解压密码:www.ittiantang.com,如有链接无法下载,请联系管理员处理。
IT天堂 » PHP 实现“万能”的短网址还原
常见问题FAQ
- IT天堂的会员权益只能通过充值获得吗?
- 您可以通过签到功能获得积分,用积分兑换会员权益。
- 网站上的VIP资源只能通过充值购买吗?
- 您可以通过每日签到获得积分,使用积分直接购买VIP资源。