vBulletin Curl 登录重定向不起作用

vBulletin Curl login redirect not working

我已经多次看到非常相似的问题并且已经尝试过但我无法得到结果。

Login to site with curl in vBulletin

.....

如果有人能帮助我登录论坛并查看各种帖子,我将不胜感激。

到目前为止,这就是我所做的

$username="username"; 
$password="password"; 
$url="www.example.com/login.php?do=login"; 
$cookie="cookie.txt"; 


$postdata = "".

        'do=login'.
        '&s='.
        '&securitytoken=<security token here>'.
        '&vb_login_md5password=<md5 password here>'.
        '&vb_login_md5password_utf=<same as the one above>'.
        '&vb_login_password='.
        '&vb_login_password_hint=Password'.
        '&vb_login_username=username';


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

如果我设置curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);它returns一个没有登录的页面,虽然cookie有登录信息。

好的,而不是使用 file_get_contents($user_url) 。我使用 php_curl 并最终获得了登录页面。

$ch = curl_init(); 

curl_setopt ($ch, CURLOPT_URL, $user_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_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
$result = curl_exec ($ch); 

curl_close($ch);


echo $result;  // the logged in page

这可能对遇到类似问题的人有所帮助。