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和ACCESS写聊天室(六)
Oct 09 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
解析php中var_dump,var_export,print_r三个函数的区别
Jun 21 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
Jun 26 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
分享3个php获取日历的函数
Sep 25 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
PHP读取文件或采集时解决中文乱码
Mar 09 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 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
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
Python3监控疫情的完整代码
2020/02/20 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
总裁秘书岗位职责
2013/12/04 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
二手车转让协议书
2015/01/29 职场文书
初中家长意见
2015/06/03 职场文书
2019公司管理制度
2019/04/19 职场文书
python flappy bird小游戏分步实现流程
2022/02/15 Python