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+DBM的同学录程序(1)
Oct 09 PHP
phpmyadmin 常用选项设置详解版
Mar 07 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
深入PHP数据缓存的使用说明
May 10 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 PHP
PHP数组函数知识汇总
May 12 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 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中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
php获取微信openid方法总结
2019/10/10 PHP
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
详解Django中的form库的使用
2015/07/18 Python
scrapy爬虫完整实例
2018/01/25 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
机器学习实战之knn算法pandas
2019/06/22 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
分厂厂长岗位职责
2013/12/29 职场文书
大学专科求职信
2014/07/02 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
上党课的心得体会
2014/09/02 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python