PHP获取跳转后的真实地址
生活随笔
收集整理的這篇文章主要介紹了
PHP获取跳转后的真实地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、第一種? ?使用 get_headers
(PHP 5, PHP 7)
get_headers — 取得服務器響應一個 HTTP 請求所發送的所有標頭
| url | 必需。目標URL |
| format | 可選。如果將可選的 format 參數設為 1,則 get_headers() 會解析相應的信息并設定數組的鍵名。 |
返回值
返回包含有服務器響應一個 HTTP 請求所發送標頭的索引或關聯數組,如果失敗則返回 FALSE。
詳情請看考手冊:get_headers
$url = "https://www.baidu.com/link?url=32j8_-sKSyO_5cpK0AQHwbD1DW3u8nXucwjWtAKmODiM5a9Z1BF2CHWqcmMBKwo5&wd=&eqid=e37d71b8000f7d15000000045f923b42"; $headers = get_headers($url, 1); if (isset($headers['Location'])) {if (is_array($headers['Location'])) {echo end($headers['Location']);} else {echo $headers['Location'];} }2、第二種? 使用curl
$url = "https://www.baidu.com/link?url=32j8_-sKSyO_5cpK0AQHwbD1DW3u8nXucwjWtAKmODiM5a9Z1BF2CHWqcmMBKwo5&wd=&eqid=e37d71b8000f7d15000000045f923b42"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //是否抓取跳轉后的頁面 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 不從證書中檢查SSL加密算法是否存在 $res = curl_exec($ch); $info = curl_getinfo($ch); $retURL = $info['url']; // 跳轉后的 URL 信息 curl_close($ch);有需要的朋友拿走不謝,記得點贊收藏 關注不迷路哦
總結
以上是生活随笔為你收集整理的PHP获取跳转后的真实地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python logistic步骤_Py
- 下一篇: SRT协议的Wireshark解析器编写