重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
今天就跟大家聊聊有關PHP如何實現萬能的短網址還原,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
創新互聯主營晉安網站建設的網絡公司,主營網站建設方案,重慶App定制開發,晉安h5成都微信小程序搭建,晉安網站營銷推廣歡迎晉安等地區企業咨詢
常見的短網址都是通過 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 "短網址還原失敗";
}
看完上述內容,你們對PHP如何實現萬能的短網址還原有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。