Я видел очень похожий вопрос несколько раз & попробовал их, но я не смог получить результат.
https://stackoverflow.com/questions/21369197/curl-login-vbulletin-cookie
Авторизуйтесь на сайте с помощью curl в 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);
он возвращает страницу, на которой не было входа, хотя 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
Это может быть полезно для кого-то, имеющего подобную проблему.
Других решений пока нет …