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树的代码,可以嵌套任意层
Oct 09 PHP
安装APACHE
Jan 15 PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
PHP内置函数生成随机数实例
Jan 18 PHP
调试php程序的简单步骤
Oct 04 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 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
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
jquery插件之easing使用
2010/08/19 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
js实现简单的手风琴效果
2017/02/27 Javascript
jquery replace方法去空格
2017/05/08 jQuery
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
Django数据统计功能count()的使用
2020/11/30 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
SQL面试题
2013/04/30 面试题
介绍一下Linux文件的记录形式
2012/04/18 面试题
教师应聘个人求职信
2013/12/10 职场文书
秋季运动会加油稿200字
2014/01/11 职场文书
大气污染防治方案
2014/05/19 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技