PHP |
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=***&password=***"); |
Пост данные нужно урленкодировать.
PHP |
// cURL будет выводить подробные сообщения о всех производимых действиях curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_HEADER, 1); |
И забыли
PHP |
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'); // при получении HTTP заголовка "Location: " будет происходить перенаправление // на указанный этим заголовком URL curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0.' . '(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)'); curl_setopt($ch, CURLOPT_REFERER, $referer); |
И посмотрите что вам возвращает сервер:
Цитата (ZHN @ 24.01.2009 - 00:42) |
//запускаем $result = curl_exec($ch); |
И посмотрите какие заголовки уходят-приходят при нормальной авторизации через браузер каким нибудь хорошим снифером (например Wireshark или CommView) и потом эмулируйте это curl-ом.
Я тоже одно время на этом много раньше время тратил. Потом написал себе класс (чтобы каждый раз не писать все заново) и сейчас в подобных случаях уже использую готовую и проверенную на большом количестве тестов.