你有

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

这意味着cURL将遵循重定向并仅返回没有Location头的最终页面.

要手动关注位置:

function getWebPage($url, $redirectcallback = null){

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_NOBODY, false);

curl_setopt($ch, CURLOPT_TIMEOUT, 10);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1) Gecko/20061024 BonEcho/2.0");

$html = curl_exec($ch);

$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($http_code == 301 || $http_code == 302) {

list($httpheader) = explode("\r\n\r\n", $html, 2);

$matches = array();

preg_match('/(Location:|URI:)(.*?)\n/', $httpheader, $matches);

$nurl = trim(array_pop($matches));

$url_parsed = parse_url($nurl);

if (isset($url_parsed)) {

if($redirectcallback){ // callback

$redirectcallback($nurl, $url);

}

$html = getWebPage($nurl, $redirectcallback);

}

}

return $html;

}

function trackAllLocations($newUrl, $currentUrl){

echo $currentUrl.' ---> '.$newUrl."\r\n";

}

getWebPage('some url with redirects', 'trackAllLocations');

php curl重定向,PHP:cURL并跟踪所有重定向相关推荐

  1. php curl for win7_解决windows7X64环境下开启PHP_Curl wamp curl PHP开启CURL无反应

    windows7系统64bit环境下wamp开启curl php开启curl无反应,或者php程序显示Call to undefined function curl_init()错误,在百度和谷歌里搜 ...

  2. php curl ssr,php curl模拟登陆

    $url="url地址"; $post_file="username=xxx&password=xxx"; $cookie_jar = dirname( ...

  3. curl服务器文件,curl 向远程服务器传输file文件

    public function upload(){ //获取上传文件信息,文件名称以自己实际上传文件名称为准 $fileinfo = $_FILE['filename']; //请求参数,依据商户自己 ...

  4. PHP中使用CURL之php curl详细解析和常见大坑

    这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就"撩"下服务器 ...

  5. curl报错 curl: option --form: is badly used here

    执行curl上传文件 curl --location --request POST 'http://192.168.65.220:19999/upfile/' \ --form '=@"/C ...

  6. nohup: 忽略输入重定向错误到标准输出端_Linux 重定向与管道

    重定向 重定向 > 重定向追加输入 >> 正确错误都会重定向 &> 标准输入 0 标准输出 1> 或 > (简写) 标准错误 2> FD 文件描述符, ...

  7. lte盲重定向_LTE重选、切换、重定向的区别

    [资料名称]:LTE重选.切换.重定向的区别 [资料作者]:A [资料日期]:20150916 [资料语言]:中文 [资料格式]:DOC/DOCX [资料目录和简介]: 这里主要简单阐述了LTE系统的 ...

  8. windows下使用curl以及常用curl命令

    什么是curl命令 curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在window ...

  9. php curl读取头,php curl 获取请求头与DNS解析

    这里是具体的curl请求函数,已将对应的需求作为参数编写 /** * 发起请求并获取返回值 * @param string $url * @param string $method 请求方式 * @p ...

最新文章

  1. Reboot分享第三期(已结束)
  2. 802.11的隐藏节点和RTS,CTS机制
  3. 当亿级流量App开始“玩”,到底在玩什么?
  4. linux java获取文件创建时间_Linux查看文件的最初创建时间
  5. java 时间的相关转换操作
  6. [转]PHP或ASP   中Cookie禁用了,Session还能用吗?
  7. 常用Linux命令 mount df dd
  8. 对openflow 1.0协议的扩展
  9. Redis-03-Redis集群的搭建
  10. 其实,前面倒腾那么多,只是为了想玩SPRING BOOT
  11. Git/Github + TortoiseGit 使用教程
  12. Hive环境搭建及测试
  13. 内网穿透端口映射工具
  14. windows系统下itunes的备份路径修改
  15. 蒟蒻的数据结构乱谈(未完)
  16. Code3Kingdom - Tech Support
  17. Django中related_name作用
  18. STM32F446高性能MCU芯片介绍
  19. PHP 导出 Excel 换行不显示
  20. iOS开发-集成阿里云实人认证

热门文章

  1. SDN控制器之OVN实验三:从OVN虚拟网络访问物理网络
  2. iOS怎么制作PDF图片和网络抓取图片
  3. Python——定义一个函数,将列表中的每个值修改为前一个值的两倍(其中,第一个值为0);
  4. 通过坚果云、KeePassXC、keepass2android实现跨平台的密码管理方案
  5. stotybord如何添加子视图_bim教程:Revit如何制作管道三维系统图
  6. 一张图学会Python3
  7. 融云Android对接视频,Android studio接入融云IM
  8. 步进电机基础(5.1)-步进电机的驱动与控制-恒压驱动、恒流驱动
  9. Linux设置一个网卡IP地址,linux下一块网卡设置多个ip地址(示例代码)
  10. 边框回归(Bounding Box Regression)详解