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

 更新时间:2014年07月25日 09:44:00   投稿:junjie  
这篇文章主要介绍了PHP获取短链接跳转后的真实地址和响应头信息的方法,本文使用get_headers函数实现,需要的朋友可以参考下

获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 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
)

相关文章

  • PHP魔术方法的使用示例

    PHP魔术方法的使用示例

    这篇文章主要介绍了PHP魔术方法的使用示例,本文分别讲解了__get、__set、__call、__callStatic、__toString、 __invoke等魔术方法的使用,需要的朋友可以参考下
    2015-06-06
  • PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件

    PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件

    最近做一个在线教学网的项目,需要实现上传任意格式视频自动为h264标准视频,使用html5播放。最终使用PHP+FFMPEG实现,在此将详细解决方案分享给大家!
    2014-09-09
  • php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)

    php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)

    这篇文章主要介绍了php为url地址添加a标签的示例,大家参考使用吧
    2014-01-01
  • ThinkPHP框架实现的邮箱激活功能示例

    ThinkPHP框架实现的邮箱激活功能示例

    这篇文章主要介绍了ThinkPHP框架实现的邮箱激活功能,结合实例形式分析了thinkPHP使用class.smtp.php及class.phpmailer.php类文件进行邮件发送实现激活功能的具体操作技巧,需要的朋友可以参考下
    2018-06-06
  • Joomla简单判断用户是否登录的方法

    Joomla简单判断用户是否登录的方法

    这篇文章主要介绍了Joomla简单判断用户是否登录的方法,涉及Joomla基于服务器端变量结合Joomla文件进行判断与跳转的相关技巧,需要的朋友可以参考下
    2016-05-05
  • smarty自定义函数用法示例

    smarty自定义函数用法示例

    这篇文章主要介绍了smarty自定义函数用法,结合实例形式详细分析了Smarty自定义函数的定义与使用技巧,需要的朋友可以参考下
    2016-05-05
  • Yii控制器中filter过滤器用法分析

    Yii控制器中filter过滤器用法分析

    这篇文章主要介绍了Yii控制器中filter过滤器用法,结合实例形式简单分析了过滤器filter的使用步骤与功能实现技巧,需要的朋友可以参考下
    2016-07-07
  • PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)

    PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)

    这篇文章主要介绍了用php+mysql+ajax实现淘宝客服或阿里旺旺聊天功能之前台页面,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-06-06
  • PHP 9 大缓存技术总结

    PHP 9 大缓存技术总结

    也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms,下面通过本文给大家分享了php9大缓存技术总结,需要的朋友可以参考下
    2015-09-09
  • cakephp打印sql语句的方法

    cakephp打印sql语句的方法

    这篇文章主要介绍了cakephp打印sql语句的方法,可实现打印输出之前全部SQL语句的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02

最新评论