Home > Backend Development > PHP Tutorial > ,curl模拟登陆的有关问题

,curl模拟登陆的有关问题

WBOY
Release: 2016-06-13 12:53:39
Original
1077 people have browsed it

高手请进,curl模拟登陆的问题
我想要做一个模拟登陆,可是一般网站有表单提交的都可以模拟登陆成功
就是另一些网站,比如速卖通(https://login.aliexpress.com/)

我的代码是这写的


function vlogin($url,$request){
        $cookie_jar = tempnam('./tmp','cookie');//在当前目录下生成一个随机文件名的临时文件
        $ch = curl_init(); //初始化curl模块
        curl_setopt($ch,CURLOPT_URL,$url);//登录页地址
        curl_setopt($ch, CURLOPT_POST, 1);//post方式提交
        curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//要提交的内容
        //把返回$cookie_jar来的cookie信息保存在$cookie_jar文件中
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
        //设定返回的数据是否自动显示
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        //设定是否显示头信息
        curl_setopt($ch, CURLOPT_HEADER, false);  
        //设定是否输出页面内容
        curl_setopt($ch, CURLOPT_NOBODY, false);
        curl_exec ($ch); 
        curl_close($ch); //get data after login        
        return $cookie_jar;
    }
    
//登录成功后通过cookies获取页面内容
    function get_content_by_cookie($url,$cookie_jar){
        $ch2 = curl_init();        
        curl_setopt($ch2, CURLOPT_URL, $url);
        curl_setopt($ch2, CURLOPT_HEADER, false);
        curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar);
        $orders=curl_exec($ch2);        
        curl_close($ch2); 
        return $orders;
    }

function clear_cookie($cookie_tmp_name){
        @unlink($cookie_tmp_name);
    }


    $list_url='http://cn.ae.alibaba.com/index.htm';
    $login_url='https://login.aliexpress.com/';
    $post_data='pd=aliexpress&xloginPassport=******&xloginPassword=******';
    $cookie_file=vlogin($login_url,$post_data);    
    $tmp_curl=get_content_by_cookie($list_url,$cookie_file);
echo $cookie_file;
echo $tmp_curl;

//clear_cookie($cookie_file);

?>


可是登陆不成功,感觉应该是 $login_url 错了,速卖通里既然是不通过form提交的,我JS基础不是很好,看不懂他的代码,求高手提点下!
感谢啊!


------解决方案--------------------
你可以改改你得vlogin函数,察看返回头+body
function vlogin($url,$request){<br>
  $cookie_jar = tempnam('./tmp','cookie');//在当前目录下生成一个随机文件名的临时文件<br>
  $ch = curl_init(); //初始化curl模块 <div class="clear">
                 
              
              
        
            </div>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template