PHP获取短链接跳转后的真实地址和响应头信息的方法_php实例

获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 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
)

时间: 2024-11-03 08:49:59

PHP获取短链接跳转后的真实地址和响应头信息的方法_php实例的相关文章

url-php 如何获取短链接跳转后的真实地址?

问题描述 php 如何获取短链接跳转后的真实地址? 最后在做一个项目,需要获取[手机淘宝分享]的短链接 跳转后的最终URL,需要从这个URL中拿到商品的ID. 在网上也淘了不少办法,但不成功. 短链接:http://b.mashort.cn/h.OhrnJ?cv=AADRopTu&sm=eeb5d6 希望有位能帮我解答一下.谢谢 解决方案 http://my.oschina.net/baiduapi/blog/299228 解决方案二: $url='http://b.mashort.cn/h.O

PHP 获取短网址跳转后的真实地址的实例

获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 PHP 提供了一个函数 get_headers() ,可以完成这个任务,先把 头部信息获取到,然后再分析跳转地址即可 利用get_headers() 函数获取http头 php 自带的get_headers()取得服务器响应一个 HTTP 请求所发送的所有标头. 获取301状态肯定没问题. 例子  代码如下 复制代码 $url = 'http://t.cn/h5mwx'; $headers = get_headers($url,

winform-请问如何获取webbrowse页面跳转后的html

问题描述 请问如何获取webbrowse页面跳转后的html 刚刚接触winform不久,我用webbrowse打开一个页面,里面有有一个提交表单按钮,点击按钮后实现查询结果,怎么提取查询返回的页面的html. webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler()只能取到刚打开时的页面的html,跳转后的取不到. 我的做法是在DocumentCompleted事件中,HtmlElement.I

恢复 WordPress 4.4 被移除的“获取短链接”按钮

为了让WordPress管理后台更加简洁.美观,WordPress 4.4版本做出了许多改动,这其中包括隐藏了文章编辑页面中的"获取短链接地址"按钮.如果你想要恢复这个按钮,可以使用这款插件:Shorter Links插件. 除了可以恢复"获取短链接"按钮功能,Shorter Links插件还可以自定义短链接前缀,覆盖掉默认的链接前缀:虽然一般用户根本不会用到这奇怪的功能. 如果你只需要恢复短链接,不需要什么额外功能,那么你还可以使用Bring Back The G

windows下使用curl获取响应头信息,以及服务器隐藏响应头信息

获取头信息的代码: curl -I www.baidu.com   头信息内容如下:   下面是转载的一篇文章:  Lighttpd.Nginx .Apache 隐藏响应头信息的Server信息和版本信息 web server避免 一些不必要的麻烦,可以把apache和php的版本信息不显示 隐藏 Apache 版本信息 /etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf ServerTokens ProductOnly ServerSi

Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法

  Android获取手机屏幕宽高.状态栏高度以及字符串宽高信息的方法         这篇文章主要介绍了Android获取手机屏幕宽高.状态栏高度以及字符串宽高信息的方法,涉及Android获取文字宽高.状态栏高度.textView宽度及屏幕尺寸的相关技巧,需要的朋友可以参考下 首先定义TextView对象commentText 获取文字的宽高: ? 1 2 3 4 5 6 7 8 TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLA

PHP版微信第三方实现一键登录及获取用户信息的方法_php技巧

本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要"服务号"才可以哦,所以必须到官方申请. 一开始你需要进入微信公众平台开启开发模式,并且填写oauth2的回调地址,地址填写你项目的域名就可以了.比如:www.baidu.com或zhidao.baidu.com.如果你的项目在二级域名就写二级域名 前端url授权地址,在url中填写appid与你项目中方法中的oauth的地址,具体在下面的代码中可以

php页面跳转session cookie丢失导致不能登录等问题的解决方法_php实例

thinkphp开发的一个项目,登录成功后又跳转到登录页面,在提交信息后输出session都是正常的,没有问题,但是页面跳转后,session出现丢失现象,无法正常完成登陆. 通过查找资料,发现原来是bom头的原因.受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),所以登入和登出功能失效.一切依赖COOKIE.SESSION实现的功能全部无效. 正确的处理方法是去掉某些文件的bom,一般情况是在入口文件出现的

php获取文件类型和文件信息的方法_php技巧

本文实例讲述了php获取文件类型和文件信息的方法.分享给大家供大家参考.具体实现方法如下: <?php $file = "php.txt"; //打开文件,r表示以只读方式打开 $handle = fopen($file,"r"); //获取文件的统计信息 $fstat = fstat($handle); echo "文件名:".basename($file)."<br>"; //echo "文件大