PHP获取301重定向页面跳转后真实URL地址
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-12 13:46:35 浏览: 评论:0
今天看到一个朋友利用php socket来获取的301跳转之后地地址了,其实我们还有一个非常简单办法了,就是使用php get_headers()函数获取数获取http头信息了,下面来看看我们的实现方法.
获取301状态肯定没问题,代码如下:
- 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 请求所发送的所有标头,代码如下:
$url = 'http://phpfensi.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.phpfensi.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
- )
Tags: PHP获取301 301重定向页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)