douzhi4991 2016-03-31 23:29
浏览 15

无法使用cURL登录网站

I am trying to log into a website with cURL but not working. I'm using this script.

But it does not work, it only redirects to the site home without logging

The form of this site is:

<form action="login.php" method="post">
<input type='hidden' name='origem' value=''>
<input type='hidden' name='ultimo_endereco' value=''>
<input type='hidden' name='forma_pagamento' value=''>
<input type='hidden' name='video' value=''>
<input type='hidden' name='url' value=''>
<input type='hidden' name='evento' value=''>
<input type='hidden' name='fotos' value=''>
<input type='hidden' name='sessao' value=''>
<input type='hidden' name='lista' value=''>
<input type='hidden' name='perfil_longando' value=''>
<table align="center" width="25%" border="0" cellpadding="0" cellspacing="0">
<tr><td><font face="" size="">Login:</font></td><td><input name="login_" type="text"></td></tr>
<tr><td><font face="" size="">Senha:</font></td><td><input name="senha_" type="password"></td></tr>
<tr><td>&nbsp;</td><td><input name="logar" type="submit" value="Logar"></td></tr>
</table>
</form>

The script:

<?php
$username="user"; 
$password="123456"; 
$url="http://www.example.com/login.php"; 
$cookie="cookie.txt"; 

$postdata ="login_=$username&senha_=$password&logar=Logar";

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 

curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 
$result = curl_exec ($ch); 
curl_close($ch)
?>

What am I doing wrong?

  • 写回答

1条回答 默认 最新

  • doutan3192 2016-04-01 01:37
    关注

    I solved the problem with this code here who can help

        <?php
        function login($url,$data){
            $fp = fopen("cookie.txt", "w");
            fclose($fp);
            $login = curl_init();
            curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
            curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
            curl_setopt($login, CURLOPT_TIMEOUT, 40000);
            curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
            curl_setopt($login, CURLOPT_URL, $url);
            curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
            curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
            curl_setopt($login, CURLOPT_POST, TRUE);
            curl_setopt($login, CURLOPT_POSTFIELDS, $data);
            ob_start();
            return curl_exec ($login);
            ob_end_clean();
            curl_close ($login);
            unset($login);    
        }                  
    
        function grab_page($site){
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
            curl_setopt($ch, CURLOPT_TIMEOUT, 40);
            curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
            curl_setopt($ch, CURLOPT_URL, $site);
            ob_start();
            return curl_exec ($ch);
            ob_end_clean();
            curl_close ($ch);
        } login("http://www.example.com/login.php", "origem=&ultimo_endereco=&forma_pagamento=&video=&url=&evento=&fotos=&sessao=&lista=&perfil_longando=&login_=USER&senha_=123456&logar=Logar");
    echo grab_page("http://www.example.com/");?>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大