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 相关文章推荐
php读取xml实例代码
Jan 28 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
Jul 19 PHP
php header功能的使用
Oct 28 PHP
提高PHP编程效率的方法
Nov 07 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
浅析php单例模式
Nov 25 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
php构造方法中析构方法在继承中的表现
Apr 12 PHP
浅谈PHP中的
Apr 23 PHP
php简单复制文件的方法
May 09 PHP
PDO::errorInfo讲解
Jan 28 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
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
python Web开发你要理解的WSGI &amp; uwsgi详解
2018/08/01 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
口头翻译求职人自荐信
2013/12/07 职场文书
毕业生找工作的求职信范文
2013/12/24 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
Docker安装MySql8并远程访问的实现
2022/07/07 Servers