войти на любой сайт, используя curl в php - PullRequest
0 голосов
/ 21 февраля 2011

войти на сайт используя curl php

Я пытался

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.sitename.com");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_exec($ch);
curl_close($ch);

Но это не входит в систему.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2013

Правильный код должен быть:

ПРИМЕЧАНИЕ: измените значения для userName пароля, как того требует форма входа на сайт.

$postField = "userName = abc&password=xyz";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.sitename.com");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_exec($ch);
curl_close($ch);`
0 голосов
/ 21 февраля 2011

curl_setopt($ch, CURLOPT_POSTFIELDS, true); не имеет смысла.

Возможно, вы смешали CURLOPT_POSTFIELDS и CURLOPT_POST. Правильный путь:

curl_setopt($ch, CURLOPT_POST, true);

Проверьте руководство здесь: http://no.php.net/manual/en/function.curl-setopt.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...