基本上不可能.
除非你在b.php里,在转向前将转向的url保存在session或者数据库里,
然后在a.php读取.

解决方案 »

  1.   

    我用了个curl的模块,可是可以看到跳转的各步,但是不能单取出最后的路径,导致脚本执行时间很长<?php
    $start = microtime(true);
    $ch = curl_init(); // create cURL handle (ch)// set some cURL options
    $ret = curl_setopt($ch, CURLOPT_URL,            "http://uchome.manyou.com/avatar/1591478?small");
    $ret = curl_setopt($ch, CURLOPT_HEADER,        1);
    $ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $ret = curl_setopt($ch, CURLOPT_NOBODY, 1);
    $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
    $ret = curl_setopt($ch, CURLOPT_TIMEOUT,        30);// execute
    $ret = curl_exec($ch);echo microtime(true) - $start;
    ?>
    在这个过程中可以看到:
    http://www.discuz.net/uc_server//avatar.php?uid=961755&size=middle
    ./data/avatar/000/96/17/55_avatar_middle.jpg?random=就是脚本执行时间太长了
      

  2.   

    这是个跨域访问的问题,其实就是重定向了原则只要不用浏览器,是可以取得的看看curl有没有跨域的设置
    如果没有,打开ie,将里面的安全里的允许跨域访问打上,用file_get_contents或xmlhttp试试
      

  3.   

    是不是一次性进行header的?
    www.x.com->www.y.com->images/im.gif?
      

  4.   

    用xmlhttp成功提取过转向的源码自动判断转向并获取源码
      

  5.   

    你想想你要是用header跳到新浪去,再从新浪跳到百度去。那你怎么搜集到百度的url控制权都不在你了
      

  6.   

    确定是 header 重定向?js redirect还可能从history查记录,用header重定向的估计不行。
      

  7.   


    这种违反了HTTP协议的功能,用PHP基本上是不可能搞出来的
      

  8.   


    这种违反了HTTP协议的功能,用PHP基本上是不可能搞出来的。
    除非你可以做到同时掌握客户端浏览器运行信息的数据。