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


Posted in PHP onJuly 25, 2014

获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 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 相关文章推荐
无限级别菜单的实现
Oct 09 PHP
php采集速度探究总结(原创)
Apr 18 PHP
用php过滤危险html代码的函数
Jul 22 PHP
php截取后台登陆密码的代码
May 05 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
实例讲解PHP设计模式编程中的简单工厂模式
Feb 29 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
Jul 03 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 #PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 #PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 #PHP
php实现与erlang的二进制通讯实例解析
Jul 23 #PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
Jul 23 #PHP
Yii使用CLinkPager分页实例详解
Jul 23 #PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 #PHP
You might like
YB217、YB235、YB400浅听
2021/03/02 无线电
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
jquery 学习笔记一
2010/04/07 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
植物选择:Botanic Choice
2017/02/15 全球购物
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
酒吧副总经理岗位职责
2013/12/10 职场文书
某同学的自我鉴定范文
2013/12/26 职场文书
高中生期末评语
2014/01/28 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
保险公司年会主持词
2014/03/22 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
采购内勤岗位职责
2015/04/13 职场文书
公司老总年会致辞
2015/07/30 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
golang正则之命名分组方式
2021/04/25 Golang
python 离散点图画法的实现
2022/04/01 Python
Springboot中如何自动转JSON输出
2022/06/16 Java/Android