本帖最后由 dz215136304 于 2013-04-04 10:25:43 编辑

解决方案 »

  1.   

    代码的12 行改成 echo curl_exec($ch); 你嫩刚看到什么?
      

  2.   

    貌似从16行来时 获取不到cookie了,但是明明已经生成cookie了(ps:只是猜测)
      

  3.   

    那你 curl_setopt($ch, CURLOPT_HEADER, 1);
    证实一下
      

  4.   


    1HTTP/1.1 302 Found Date: Thu, 04 Apr 2013 12:23:50 GMT Server: Apache/2.2.21 (Win32) PHP/5.3.10 X-Powered-By: PHP/5.3.10 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: private Pragma: no-cache location: login.php?gotopage=%2Fdedecms%2Fdede%2Farticle_add.php%3Fchannelid%3D1 Content-Length: 0 Content-Type: text/html; charset=gb2312修改的第18行 结果
      

  5.   

    他不是要跳转到这里吗
    login.php?gotopage=%2Fdedecms%2Fdede%2Farticle_add.php%3Fchannelid%3D1
      

  6.   

    不是啊,要跳转到  要跳转到 http://localhost/dedecms/dede/article_add.php?channelid=1
      

  7.   


    我需要跳转到 http://localhost/dedecms/dede/article_add.php?channelid=1  而他错误的跳转到了登陆页面(即:http://localhost/dedecms/dede/login.php?gotopage=%2Fdedecms%2Fdede%2Findex.php)
      

  8.   


    需要获取 http://localhost/dedecms/dede/article_add.php?channelid=1这个页面的数据
      

  9.   

    应该是cookie没有生效,或者cookie域不对
      

  10.   

    如果登陆成功之后还跳转回首页 那应该就是cookie的问题了...
      

  11.   

    貌似确实是cookie 但是cookie已经保存到文件里面了,难道第20行代码没将cookie发过去?求解决方法
      

  12.   

    header("location:login.php?gotopage=".urlencode($dedeNowurl));
      

  13.   

    用这个函数去试试,我用它查询汽车违章是没有问题的~~~<?php
    session_start();
    function getHtml($url,$tmpFile,$postData)
    {
    $ch = curl_init($url);
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpFile);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpFile); 
    if($postData!=NULL)
    {
    curl_setopt($ch, CURLOPT_POST, 1);  
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
    }
    $content=curl_exec($ch);  
    curl_close($ch); 
    return $content;
    }
    ?>