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 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
使用PHP维护文件系统
Oct 09 PHP
PHP利用COM对象访问SQLServer、Access
Oct 09 PHP
用文本文件制作留言板提示(上)
Oct 09 PHP
php下实现农历日历的代码
Mar 07 PHP
谈谈新手如何学习PHP 默默经典版本
Aug 04 PHP
PHP IPV6正则表达式验证代码
Feb 16 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
php通过文件流方式复制文件的方法
Mar 13 PHP
php封装的验证码类分享
Feb 26 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
php 删除记录实现代码
2009/03/12 PHP
php中的观察者模式简单实例
2015/01/20 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
关于js类的定义
2011/06/28 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
ionic3 懒加载
2017/08/16 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
React实现轮播效果
2020/08/25 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
Python入门_浅谈for循环、while循环
2017/05/16 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
python的常见矩阵运算(小结)
2019/08/07 Python
如何通过python实现全排列
2020/02/11 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
Python基于Faker假数据构造库
2020/11/30 Python
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
捷克多品牌在线时尚商店:ANSWEAR.cz
2020/10/03 全球购物
幼儿园托班开学寄语
2014/01/18 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
大学生求职信例文
2014/06/29 职场文书
2014年减负工作总结
2014/12/10 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书