PHP检测url重定向的最终地址
来源:互联网 发布:php跳转页面 编辑:程序博客网 时间:2024/04/30 01:04
引言
客户需求, 需要判断一个url跳转后的url是否是目标url, 于是有此文, 惯例先贴代码.
代码
/** * 递归检测url重定向地址, 直到重定向到rule所指地址 * 返回该地址 * * @param string $url 待检测的地址 * @param string $rule 匹配的地址 * @return mixed */function redirect($url, $rule = 'https://www.google.com/'){ $header = get_headers($url, 1); //print_r($header); if (strpos($header[0], '301') !== false || strpos($header[0], '302') !== false) { // 检测到跳转 if (array_key_exists('Set-Cookie', $header)) { // 检测到cookie, 进行设置 $cookies = $header['Set-Cookie']; foreach ($cookies as $k => $v) { header('Set-Cookie: ' . $v); } } if (array_key_exists('Location', $header)) { $url = $header['Location']; if (is_array($url)) { foreach ($url as $k => $v) { if (strpos($v, $rule) !== false) { // 跳转地址与$rule匹配, 返回该地址 return $v; } else { // 不匹配则访问一次中转网址 file_get_contents($v); } } } else { if (strpos($url, $rule) !== false) { // 跳转地址与$rule匹配, 返回该地址 return $url; } } } } return false;}
小结
核心函数get_headers()
其余的就是常规的字符串判断函数.
0 0
- PHP检测url重定向的最终地址
- PHP网站实现地址URL重定向
- PHP网站实现地址URL重定向
- php的URL重定向函数
- 【php:thinkphp 】URL重定向
- Android 如何获取url重定向之后的地址
- PHP URL 重定向 的三种方法
- PHP URL 重定向 的三种方法
- PHP获取重定向URL的几种方法
- PHP URL重定向的三种方法
- php 版获取重定向后的地址
- PHP实现URL重定向功能
- php url重定向 页面跳转 代码
- php路由相关(url重定向)
- nginx 此页面重定向不正确(检测到该服务器正在将此地址的请求循环重定向)
- Firefox 检测到该服务器正在将此地址的请求循环重定向的解决方法
- IIS Firefox 检测到该服务器正在将此地址的请求循环重定向
- iOS应用中URL地址如何重定向
- 给大家推荐一个神奇的文献搜索网站sci-hub
- ajax跨域请求简单实现Java后台
- 看见的力量 – (II) 影响地图
- leetcode-25-Reverse Nodes in k-Group
- CodeForces-17A-Noldbach problem
- PHP检测url重定向的最终地址
- 文章标题
- STM32F0xx_ADC采集电压配置详细过程
- 关于ORA-00257问题的解决(归档程序错误)
- Android TextView如何显示html样式的文字
- 【原创:毕业意味着什么】
- 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布
- change qtcreator3.6.0 backbround color on ubuntu 14.04
- 【设计模式】单一职责原则、开放封闭原则、依赖倒转原则