程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP獲取短鏈接跳轉後的真實地址和響應頭信息的方法

PHP獲取短鏈接跳轉後的真實地址和響應頭信息的方法

編輯:PHP綜合

獲取到一個短連接,需要將短連接轉換成真實的網址,通過查資料,發現 PHP 提供了一個函數 get_headers() ,可以完成這個任務,先把 頭部信息獲取到,然後再分析跳轉地址即可:
復制代碼 代碼如下:
$url = 'http://t.cn/h5mwx';
$headers = get_headers($url, TRUE);

print_r($headers);

//輸出跳轉到的網址
echo $headers['Location'];

附完整數組:

復制代碼 代碼如下:
Array
(
    [0] => HTTP/1.1 302 Moved Temporarily
    [Location] => http://www.baidu.com
    [Content-Type] => Array
        (
            [0] => text/html;charset=UTF-8
            [1] => text/html;charset=utf-8
        )

    [Server] => Array
        (
            [0] => weibo
            [1] => BWS/1.0
        )

    [Content-Length] => Array
        (
            [0] => 203
            [1] => 16424
        )

    [Date] => Array
        (
            [0] => Thu, 12 Dec 2013 10:42:25 GMT
            [1] => Thu, 12 Dec 2013 10:42:25 GMT
        )

    [X-Varnish] => 2893360335
    [Age] => 0
    [Via] => 1.1 varnish
    [Connection] => Array
        (
            [0] => close
            [1] => Close
        )
)

附:get_headers函數官方文檔

get_headers — 取得服務器響應一個 HTTP 請求所發送的所有標頭

說明

array get_headers ( string $url [, int $format = 0 ] )

get_headers() 返回一個數組,包含有服務器響應一個 HTTP 請求所發送的標頭。

參數

url:目標 URL。

format:如果將可選的 format 參數設為 1,則 get_headers() 會解析相應的信息並設定數組的鍵名。

返回值

返回包含有服務器響應一個 HTTP 請求所發送標頭的索引或關聯數組,如果失敗則返回 FALSE。

使用例子:
復制代碼 代碼如下:
<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>
以上例程的輸出類似於:
復制代碼 代碼如下:
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved