首页 文章

在vBulletin中使用curl登录网站

提问于
浏览
2

我一直试图按照此链接上的说明登录网站(www.siamchart/forum) .. Login to remote site with PHP cURL . 我不能通过登录过去 . 运行以下脚本后,它将我重定向到相同的登录页面(www.siamchart / forum),但没有成功登录 .

我的代码如下..

$username="ABC"; 
$password="12345"; 
$url="www.siamchart.com/forum/login.php?do=login"; 
$cookie="siamchart_cookie.txt"; 

$postdata = "vb_login_username=".$username."&vb_login_password=".$password; 

$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, 1); 
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); 

echo $result;  
curl_close($ch);

编辑

该论坛正在使用vBulletin . 这是登录页面中的脚本

<script type="text/javascript" src="clientscript/vbulletin_md5.js?v=4111"></script>
   <form id="navbar_loginform" action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
   <fieldset id="logindetails" class="logindetails">
   <div>
     <div>
     <input type="text" class="textbox default-value" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="User Name" />
     <input type="password" class="textbox" tabindex="102" name="vb_login_password" id="navbar_password" size="10" />
     <input type="text" class="textbox default-value" tabindex="102" name="vb_login_password_hint" id="navbar_password_hint" size="10" value="Password" style="display:none;" />
     <input type="submit" class="loginbutton" tabindex="104" value="Log in" title="Enter your username and password in the boxes provided to login, or click the 'register' button to create a profile for yourself." accesskey="s" />
     </div>
   </div>
   </fieldset>
   .
   .
</script>

我做错了吗?非常感谢你 .

2 回答

  • 1

    该站点正在重定向您,但您已禁用重定向 . 用以下内容改变:

    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
                                              ^--
    
  • 1

    我现在正在处理同样的问题 . 你不发送密码的md5哈希值,在VB中它是在飞行中生成的,然后发送登录帖子 . 防止打开密码信息 .

    这里也是post vars的确切列表:

    action="login.php?do=login" 
    "vb_login_username" 
    "vb_login_password" 
    "s" value="" />
    "securitytoken" value="guest" />
    "do" value="login" />
    "vb_login_md5password" />
    "vb_login_md5password_utf" />
    

    因为它是在形式,我现在尝试登录 .

相关问题