发表时间:2015-05-27来源:网络
/** * get_redirect_url() * Gets the address that the provided URL redirects to, * or FALSE if there's no redirect. * * @param string $url * @return string */function get_redirect_url($url){ $redirect_url = null; $url_parts = @parse_url($url); if (!$url_parts) return false; if (!isset($url_parts['host'])) return false; //can't process relative URLs if (!isset($url_parts['path'])) $url_parts['path'] = '/'; $sock = fsockopen($url_parts['host'], (isset($url_parts['port']) ? (int)$url_parts['port'] : 80), $errno, $errstr, 30); if (!$sock) return false; $request = "HEAD " . $url_parts['path'] . (isset($url_parts['query']) ? '?'.$url_parts['query'] : '') . " HTTP/1.1/r/n"; $request .= 'Host: ' . $url_parts['host'] . "/r/n"; $request .= "Connection: Close/r/n/r/n"; fwrite($sock, $request); $response = ''; while(!feof($sock)) $response .= fread($sock, 8192); fclose($sock); if (preg_match('/^Location: (.+?)$/m', $response, $matches)){ if ( substr($matches[1], 0, 1) == "/" ) return $url_parts['scheme'] . "://" . $url_parts['host'] . trim($matches[1]); else return trim($matches[1]); } else { return false; } }/** * get_all_redirects() * Follows and collects all redirects, in order, for the given URL. * * @param string $url * @return array */function get_all_redirects($url){ $redirects = array(); while ($newurl = get_redirect_url($url)){ if (in_array($newurl, $redirects)){ break; } $redirects[] = $newurl; $url = $newurl; } return $redirects;} php实现用socket获取301跳转地址,可以提取跳转过程中的url 下一篇:php的扩展和嵌入--总纲
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
茹娣经销商下载v1.0.7 最新版
26.08MB |商务办公
心灵鑫下载v1.0.1 最新版
67.46MB |生活服务
hiai摄像头app下载v3.7.1 安卓版
120.9MB |生活服务
中国篆刻软件下载v1.075 新版安卓版
474.21MB |系统工具
成分喵官方版下载v1.7.4 安卓版
51.36MB |生活服务
戎小兔便携打印机app下载v1.3.3 安卓版
88.49MB |系统工具
工程师e家官方版下载v2.3.5 安卓免费版
51.56MB |生活服务
ks os运动app下载v2.4.5 安卓版
267.82MB |生活服务
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05