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

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

一、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 '';





	}

二、使用方法:

	$shortUrl = 'https://url.cn/54VbB8h'; // 要还原的短网址





	$orinalUrl = restoreUrl($shortUrl);





	if($orinalUrl) {





	 echo "短网址 {$shortUrl} 的还原结果:{$orinalUrl}";





	} else {





	 echo "短网址还原失败";





	}
	【爱下载资源网】
	转载:http://www.aixiazaivip.com/jaiochenga/1289.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值