foreach($sarr[1] as $i => $v){
       //echo '<li><a href="'.$_SERVER['PHP_SELF'].'?url='.$v.'">'.$v.'</a></li>';
       $map =$sarr[1];
       foreach ($map as $k =>$v) {
    if (strpos($v, 'youku') !== false) {
    
   //echo "$v<br />";
if (isset($v))
{
Header("HTTP/1.1 303 See Other");
Header("Location: $v");
exit;

}
$V 这个输出的是 是一个下载地址 但我用header函数调用它直接进行下载 却不行 请教大神们! $V 输出象这样的一段地址
http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000201004EAA552D0FF2053E0261E433A453-E370-FFD9-8AF8-50AEA6B8E2D1?K=ae5544388db70915261bf8f1

解决方案 »

  1.   

    youku 的播放地址都是经过加密的。刚好有个帖子或许是你需要的
    http://topic.csdn.net/u/20111029/00/840fce84-fb63-4fae-90fe-652c6260e2db.html?72503
      

  2.   


    我已经能获得了....当我使用 
    $string = serialize($v);
    echo $string; 
    这样时  本来只输出一行地址 变成输出了十几行地址这个怎样解决? 不能提取数据中储藏的地址 再抛给header 吗?
      

  3.   

    serialize是序列化不是压缩数据。所以当你打算恢复这个序列化的内容时 使用unserialize 给变量就可以了。
      

  4.   

    改怎样做才能 把 $v 输出的值 用到这个
    if (isset($v))
    {
    Header("HTTP/1.1 303 See Other");
    Header("Location: $v");
    exit;
    }  
    }
      

  5.   

    你现在$v输出的到底是什么内容了,忘记看了原来那个帖也是你的。
    是这个样子?
    http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000201004EAA552D0FF2053E0261E433A453-E370-FFD9-8AF8-50AEA6B8E2D1?K=ae5544388db70915261bf8f1
      

  6.   


    对现在就是输出这个 你可以开来看看
    http://www.mvtop.info/test.php?q=http://v.youku.com/v_show/id_XMzE2OTI5MzA4.html
      

  7.   

    跟了一下,你是打算直接输出这个地址让别人下载flv?
    这个貌似有问题,我看了一下那个网站 跟最后的地址,这里还有一个302的跳转才到达最后的实际地址
    http://122.225.31.106/youku/69775C28CE63082A5BB6FD2F24/03000203004EA1B45C2AF4038311D48481EE28-2BA7-92CE-EABE-543C3E7F5451.flv这里有个参数 69775C28CE63082A5BB6FD2F24 不知道是如何生成的,其他的都有拉。所以你要么解决这个参数的生成 要么只能学原来那个网站 做一个点击下载链接(我估计他这么做也可能是因为解不出 69775C28CE63082A5BB6FD2F24)...它的源码是<a onclick="_alert();return false;" target="_blank" href="http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000203004EA1B45C2AF4038311D48481EE28-2BA7-92CE-EABE-543C3E7F5451?K=35d1e0c2b26aaf20261bf91d"> http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000203004E......6aaf20261bf91d </a>所以或者你可以用curl再模拟下点击触发这个302 就可以达到下载的目的了。当然这是假设,注意模拟好环境,我觉得应该可以吧。
      

  8.   

    http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000201004EAA552D0FF2053E0261E433A453-E370-FFD9-8AF8-50AEA6B8E2D1?K=ae5544388db70915261bf8f1不能把这个数据抛到地址栏进行打开吗? 如果我们把http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000201004EAA552D0FF2053E0261E433A453-E370-FFD9-8AF8-50AEA6B8E2D1?K=ae5544388db70915261bf8f1
    输入到地址栏 他自己就会下载  
    模仿抛到地址栏 进行打开 不行?
      

  9.   

    你在IE 打开 http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000201004EAA552D0FF2053E0261E433A453-E370-FFD9-8AF8-50AEA6B8E2D1?K=ae5544388db70915261bf8f1 能下载?我这没IE 不清楚 在 firefox下总之是不行的。
      

  10.   

    是刚才那段失效而已 你可以随便找个优酷地址 提交到=后
    http://www.mvtop.info/test.php?q=把解析出来的地址 在火狐 chrome ie  360 都行 我测试过了  
    请大神教我怎样模拟把
      

  11.   

    那就简单拉也不需要curl了
    header('Location:http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000201004EAA552D0FF2053E0261E433A453-E370-FFD9-8AF8-50AEA6B8E2D1?K=fe54f6d60c24ea5b2410c8af');
    就行了.
      

  12.   


    foreach($sarr[1] as $i => $v){
      //echo '<li><a href="'.$_SERVER['PHP_SELF'].'?url='.$v.'">'.$v.'</a></li>';
      $map =$sarr[1];
      foreach ($map as $k =>$v) {
      if (strpos($v, 'youku') !== false) {
        
      echo "$v<br />";
    这个有时候会输出几个地址 有办法只取一个地址码?