解决方案 »

  1.   

    print_r(get_headers('http://www.yygh.net/usercenter/userinfo_action.php'));
    Array
    (
        [0] => HTTP/1.1 200 OK
        [1] => Date: Fri, 31 Oct 2014 00:41:47 GMT
        [2] => Server: Apache/2.2.8 (Win32)
        [3] => Set-Cookie: PHPSESSID=e5dadd27a2c2387e05c077ab1c0141e5; path=/
        [4] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
        [5] => Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
        [6] => Pragma: no-cache
        [7] => Set-Cookie: JamesID=deleted; expires=Thu, 31-Oct-2013 00:41:46 GMT; path=/
        [8] => Set-Cookie: JamesUserID=deleted; expires=Thu, 31-Oct-2013 00:41:46 GMT; path=/
        [9] => Set-Cookie: JamesLoginTime=deleted; expires=Thu, 31-Oct-2013 00:41:46 GMT; path=/
        [10] => Content-Length: 1073
        [11] => Connection: close
        [12] => Content-Type: text/html
    )你既不接收,也不发送他的 cookie,如何能成功?
      

  2.   

    $cookie_file = dirname(__FILE__).'/cookie.txt';
    //$cookie_file = tempnam("tmp","cookie");

    //curl 只识别单引号字符串
    $ch = curl_init(); //初始化
    $this->url = "http://www.yygh.net/usercenter/userinfo_action.php";
    curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie_file); //存储cookies



    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //强制协议为1.0
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); //头部要送出'Expect: '
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); //强制使用IPV4协议解析域名
    curl_setopt($ch, CURLOPT_URL, $this->url);


    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回字符串,而非直接输出

     $this->content=curl_exec($ch);
     curl_close($ch);
     
     
     
     
     
     $cookie_file = dirname(__FILE__).'/cookie.txt';
    //$cookie_file = tempnam("tmp","cookie");

    //curl 只识别单引号字符串
    $ch = curl_init(); //初始化
    $this->url = "http://www.yygh.net/usercenter/userinfo_action.php";
    $fields = 'actionpost=login&logintype=0&cardtype=1&userid=330724197712316212&pwd=123qwe&validate=cndm&imagesField.x=32&imageField.y=11';
    curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式
    curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); 

    curl_setopt($ch, CURLOPT_COOKIEFILE,  $cookie_file); //使用上面获取的cookies



    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //强制协议为1.0
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); //头部要送出'Expect: '
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); //强制使用IPV4协议解析域名
    curl_setopt($ch, CURLOPT_URL, $this->url);


    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回字符串,而非直接输出

     $this->content=curl_exec($ch);
     
     print_r(get_headers('http://www.yygh.net/usercenter/userinfo_action.php'));
     curl_close($ch);
     echo $this->content;用了cookie也不行。版主帮我看看是哪里的问题
      

  3.   

    $cookie_file = dirname(__FILE__).'/cookie.txt';
            //$cookie_file = tempnam("tmp","cookie");
             
            //curl 只识别单引号字符串
            $ch = curl_init(); //初始化       
            $this->url = "http://www.yygh.net/usercenter/userinfo_action.php";
     
             
            curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie_file); //存储cookies
             
             
             
            curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //强制协议为1.0
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); //头部要送出'Expect: '
            curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); //强制使用IPV4协议解析域名
            curl_setopt($ch, CURLOPT_URL, $this->url);
             
             
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回字符串,而非直接输出
         
             $this->content=curl_exec($ch);
             curl_close($ch);
              
              
              
              
              
             $cookie_file = dirname(__FILE__).'/cookie.txt';
            //$cookie_file = tempnam("tmp","cookie");
             
            //curl 只识别单引号字符串
            $ch = curl_init(); //初始化       
            $this->url = "http://www.yygh.net/usercenter/userinfo_action.php";
    $fields = 'actionpost=login&logintype=0&cardtype=1&userid=330724197712316212&pwd=123qwe&validate=cndm&imagesField.x=32&imageField.y=11';
            curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式
            curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); 
             
            curl_setopt($ch, CURLOPT_COOKIEFILE,  $cookie_file); //使用上面获取的cookies
             
             
             
            curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //强制协议为1.0
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); //头部要送出'Expect: '
            curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); //强制使用IPV4协议解析域名
            curl_setopt($ch, CURLOPT_URL, $this->url);
             
             
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回字符串,而非直接输出
         
             $this->content=curl_exec($ch);
              
             print_r(get_headers('http://www.yygh.net/usercenter/userinfo_action.php'));
             curl_close($ch);
             echo $this->content;
      

  4.   

    <?php
    $cookie_file = dirname(__FILE__).'/cookie.txt';if(isset($_GET['verification'])) {
      $url = 'http://www.yygh.net/include/validateimg.php?' . rand();
      $ch = curl_init(); //初始化       
      curl_setopt($ch, CURLOPT_COOKIEFILE,  $cookie_file); 
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_exec($ch);
      curl_close($ch);
      exit;
    }
    if(! $_POST) {
      $url = "http://www.yygh.net/usercenter/userinfo_action.php";
      $ch = curl_init(); //初始化       
      curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie_file); //存储cookies
      curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //强制协议为1.0
      curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); //头部要送出'Expect: '
      curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); //强制使用IPV4协议解析域名
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回字符串,而非直接输出
      $content = curl_exec($ch);
      curl_close($ch);
    echo <<< HTML
    <form method=post>
    <img src='?verification=1'>
    <input type=text name=code>
    <input type=submit value=ok>
    </form>
    HTML;
      exit;
    }else {
      $ch = curl_init(); //初始化       
      $url = "http://www.yygh.net/usercenter/userinfo_action.php";
      $fields = array(
        'actionpost' => 'login',
        'logintype' => 0,
        'cardtype' => 1,
        'userid' => '330724197712316212',
        'pwd' => '123qwe',
        'validate' => $_POST['code'],
        //cndm&imagesField.x=32&imageField.y=11';
      );
      curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式
      curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
      curl_setopt($ch, CURLOPT_COOKIEFILE,  $cookie_file); //使用上面获取的cookies
      curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //强制协议为1.0
      curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); //头部要送出'Expect: '
      curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); //强制使用IPV4协议解析域名
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回字符串,而非直接输出
      $content = curl_exec($ch);
      curl_close($ch);
      echo $content;  
    }请核实用户信息的正确性
      

  5.   

    最后一句话提醒我了原来是cardtype 写错了 card_type..
    这什么嘛、搞了一天
    最后谢谢版主