2

我一直在尝试按照此链接上的说明登录到站点(www.siamchart/forum) 。使用 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>

我做错什么了吗?非常感谢。

4

2 回答 2

1

该网站正在重定向您,但您已禁用重定向。改变它:

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
                                          ^--
于 2012-12-29T03:25:22.317 回答
1

我现在正在处理同样的问题。您不要发送密码的 md5 哈希,在 VB 中它是在发送登录帖子之前即时生成的。防止更改打开的密码信息。

这里也是帖子变量的确切列表:

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" />

就像它的形式一样,我现在正在尝试登录。

于 2013-02-17T05:22:37.000 回答