2016-01-19 9 views
0

Я пытаюсь получить доступ к https://www.blocket.se/store/login/0, используя cURL, чтобы очистить некоторые данные, чтобы превратить их в таблицы, которые будут использоваться в программе бизнес-аналитики.cURL логин на сайт не работает

Однако, когда я пытаюсь получить доступ к сайту, он говорит, что у меня неправильный пароль/имя пользователя.

«Du хар angivit ETT felaktigt användarnamn Эллер lösenord» >> «Вы ввели неправильный логин или пароль»

Edit: данные, которые я вызываю функцию входа в систему с использующую сайта я совместно ранее в должности поскольку URL-адрес и второй аргумент извлекаются через HTTPfox. Они здесь просто секретные.

Heres код, который я использую, чтобы получить доступ к веб-сайт:

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); 
} 
echo login("website", "[email protected]&passwd=secret&store_id=secret"); 

Любая помощь будет оценен по достоинству!

+0

Это https-url, поэтому я бы предложил добавить параметры для SSL к параметрам завитка ~ наиболее заметно 'cacert.pem' для cainfo. Кроме того, один из лучших способов выяснить, что происходит/не так, - это использовать что-то вроде 'liveHTTPHeaders' плагина для входа в firefox ~ для входа в систему и захватить заголовки, чтобы узнать, что происходит, и поток процесса входа в систему – RamRaider

ответ

0

решаемые это

function login($url, $data) { 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
curl_setopt($ch, CURLOPT_REFERER, "https://www.blocket.se/store/login/0"); 
return curl_exec($ch);} 

Добавление реферер и установка заголовка, чтобы решить ее ложной. Это, по крайней мере, работает для блокады, если любые другие шведы должны получить доступ!

Смежные вопросы