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

获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 PHP 提供了一个函数 get_headers() ,可以完成这个任务,先把 头部信息获取到,然后再分析跳转地址即可

利用get_headers() 函数获取http头
php 自带的get_headers()取得服务器响应一个 HTTP 请求所发送的所有标头。 获取301状态肯定没问题。

例子

 代码如下 复制代码

$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.111Cn.net
    [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
        )
)

好了我们看一个获取短网址跳转之前的网址

 代码如下 复制代码

$header = get_headers($url, 1);
if (strpos($header[0], '301') || strpos($header[0], '302')) {
if (is_array($header['Location'])) {
return $header['Location'][count($header['Location'])-1];
} else {
return $header['Location'];
}
} else {
return $url;
}

时间: 2024-12-31 07:49:48

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实例

获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 PHP 提供了一个函数 get_headers() ,可以完成这个任务,先把 头部信息获取到,然后再分析跳转地址即可: 复制代码 代码如下: $url = 'http://t.cn/h5mwx'; $headers = get_headers($url, TRUE); print_r($headers); //输出跳转到的网址 echo $headers['Location']; 附完整数组: 复制代码 代码如下: Array (

JQuery与Ajax调用新浪API获取短网址的代码

 这篇文章主要介绍了调用新浪API获取短网址的方法有很多,本例为大家介绍下使用JQuery与Ajax来实现,需要的朋友可以参考下  代码如下: <!doctype html>  <html>  <head>  <meta charset="utf-8">  <title>获取新浪短网址</title>  <script src="http://ajax.aspnetcdn.com/ajax/jQue

jsonp-ajax 调用新浪API动态获取短网址

问题描述 ajax 调用新浪API动态获取短网址 function getShortUrl(urlStr){ $.ajax({ async:false, url : 'http://api.weibo.com/2/short_url/shorten.json?source=5786724301&url_long='+urlStr, type : 'GET', dataType : 'JSONP', jsonp: 'jsoncallback', cache: false, success : fu

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

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

JQuery与Ajax调用新浪API获取短网址的代码_jquery

复制代码 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>获取新浪短网址</title> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script> <!--<script type

PHP curl实现抓取302跳转后页面的示例_php实例

PHP的CURL正常抓取页面程序如下: $url = 'http://www.baidu.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLO

如何实现PHP长网址与短网址

什么是长链接.短链接 顾名思义,长链接就是一个很长的链接;短链接就是一个很短的链接.长链接可以生成短链接,短链接来源于长链接. 为什么要使用长链接.短链接 更加美观,我们可以对长链接和短链接进行对比,很显然可以看出短链接相对成链接来说更加的短小,显得更加的美观. 安全性,长链接可能会携带一些参数,例如http://xxx.xxx.xxx?id=1¶m1=san,我们能够轻松的看出,该url采用的是 get的方式,同时也能看出请求了哪些参数.然而短链接http://t.cn/RNGQRUJ,我们只

淘宝客推广应善假于物 短网址已成必备利剑

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 真正做过淘宝客的朋友应该都知道:淘宝客推广链接由于过长而且容易被屏蔽所以短网址一直是淘宝客必备工具.如果还不知道"短网址到底是什么东西"的朋友,请先自己问问度娘吧.今天笔者就和大家分享下短网址服务在淘宝客推广中的重要性以及应该注意的事项,使其真正成为淘宝客推广利剑.笔者和广大淘宝客一样,也是从菜鸟一步一步爬起来的,这期间走