当前位置:首页 > PHP教程 > php应用 > 列表

PHP获取短链接跳转后的真实地址和响应头信息的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-24 16:37:02 浏览: 评论:0 

这篇文章主要介绍了PHP获取短链接跳转后的真实地址和响应头信息的方法,本文使用get_headers函数实现,需要的朋友可以参考下

获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 PHP 提供了一个函数 get_headers() ,可以完成这个任务,先把 头部信息获取到,然后再分析跳转地址即可:

  1. $url = 'http://t.cn/h5mwx'
  2. $headers = get_headers($url, TRUE); 
  3. print_r($headers); 
  4.  
  5. //输出跳转到的网址 
  6. echo $headers['Location']; 

附完整数组:

  1. Array 
  2.     [0] => HTTP/1.1 302 Moved Temporarily 
  3.     [Location] => http://www.baidu.com 
  4.     [Content-Type] => Array 
  5.         ( 
  6.             [0] => text/html;charset=UTF-8 
  7.             [1] => text/html;charset=utf-8 
  8.         ) 
  9.     [Server] => Array 
  10.         ( 
  11.             [0] => weibo 
  12.             [1] => BWS/1.0 
  13.         ) 
  14.  
  15.     [Content-Length] => Array 
  16.         ( 
  17.             [0] => 203 
  18.             [1] => 16424 
  19.         ) 
  20.  
  21.     [Date] => Array 
  22.         ( 
  23.             [0] => Thu, 12 Dec 2013 10:42:25 GMT 
  24.             [1] => Thu, 12 Dec 2013 10:42:25 GMT 
  25.         ) 
  26.  
  27.     [X-Varnish] => 2893360335 
  28.     [Age] => 0 
  29.     [Via] => 1.1 varnish 
  30.     [Connection] => Array 
  31.         ( 
  32.             [0] => close 
  33.             [1] => Close 
  34.         ) 

附: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。

使用例子:

  1. <?php 
  2. $url = 'http://www.phpfensi.com'
  3. print_r(get_headers($url)); 
  4.  
  5. print_r(get_headers($url, 1)); 
  6. ?> 

以上例程的输出类似于:

  1. Array 
  2.     [0] => HTTP/1.1 200 OK 
  3.     [1] => Date: Sat, 29 May 2004 12:28:13 GMT 
  4.     [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux) 
  5.     [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT 
  6.     [4] => ETag: "3f80f-1b6-3e1cb03b" 
  7.     [5] => Accept-Ranges: bytes 
  8.     [6] => Content-Length: 438 
  9.     [7] => Connection: close 
  10.     [8] => Content-Type: text/html 
  11. Array 
  12.     [0] => HTTP/1.1 200 OK 
  13.     [Date] => Sat, 29 May 2004 12:28:14 GMT 
  14.     [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux) 
  15.     [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT 
  16.     [ETag] => "3f80f-1b6-3e1cb03b" 
  17.     [Accept-Ranges] => bytes 
  18.     [Content-Length] => 438 
  19.     [Connection] => close 
  20.     [Content-Type] => text/html 

Tags: PHP获取短链接

分享到: