php获取跳转后的url地址栏,PHP获取301重定向页面跳转后真实URL地址

今天看到一个朋友利用php socket来获取的301跳转之后地地址了,其实我们还有一个非常简单办法了,就是使用php get_headers()函数获取数获取http头信息了,下面来看看我们的实现方法。

获取301状态肯定没问题。<?php

function getrealurl($url) {

$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;

}

}

?>

补充:get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头<?php

$url = 'http://phprm.com';

print_r(get_headers($url));

?>

结果Array

(

[0] => HTTP/1.1 301 Moved Permanently

[1] => Date: Tue, 01 Jul 2014 07:49:26 GMT

[2] => Server: Apache/2.2.22 (Win32) PHP/5.2.17

[3] => Location: http://www.phprm.com/

[4] => Content-Length: 314

[5] => Content-Type: text/html; charset=iso-8859-1

[6] => X-Via: 1.1 jszjsx60:8080 (Cdn Cache Server V2.0), 1.1 zb51:6 (Cdn Cache Server V2.0)

[7] => Connection: close

[8] => HTTP/1.1 200 OK

[9] => Date: Tue, 01 Jul 2014 07:49:27 GMT

[10] => Server: Apache/2.2.22 (Win32) PHP/5.2.17

[11] => Last-Modified: Tue, 01 Jul 2014 07:41:43 GMT

[12] => ETag: "7a0000002fe1a1-68a9-4fd1ce83bc0f7"

[13] => Accept-Ranges: bytes

[14] => Content-Length: 26793

[15] => Content-Type: text/html

[16] => X-Via: 1.1 jszjsx60:8080 (Cdn Cache Server V2.0), 1.1 zb62:5 (Cdn Cache Server V2.0)

[17] => Connection: close

)

转载随意!带上文章地址吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值