curl авторизация для instant

не могу написать

 
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 165
Помогите кто может, правильно написать заспрос авторизации, писал так, не проходит

Код PHP:
  1.  
  2. $curl = curl_init('http://instantcms.ru/');
  3. $ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2)';
  4. curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
  5. curl_setopt($curl, CURLOPT_USERAGENT, $ua);
  6. curl_setopt($curl, CURLOPT_REFERER, 'http://instantcms.ru/');
  7. curl_setopt($curl, CURLOPT_POST, 1);
  8. curl_setopt($curl, CURLOPT_POSTFIELDS, 'login=логин&pass=пароль');
  9. curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  10. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  11. $html = curl_exec($curl);
  12. curl_close($curl);
  13.  
Помог? ткни + в карму
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4574
CozaNostra:
curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
не нужна
CozaNostra:
curl_setopt($curl, CURLOPT_POSTFIELDS, 'login=логин&pass=пароль');
тут должен быть массив, например
Код PHP:
  1. $post = array('login' => 'логин',
  2. 'pass' => 'пароль'
  3. );
  4. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Реклама
cms
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 165
Fuze:

CozaNostra:
curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
не нужна
CozaNostra:
curl_setopt($curl, CURLOPT_POSTFIELDS, 'login=логин&pass=пароль');
тут должен быть массив, например
Код PHP:
  1. $post = array('login' => 'логин',
  2. 'pass' => 'пароль'
  3. );
  4. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);

спасибо)
Помог? ткни + в карму
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 165
вроде все верно, но возвращает страницу с неудачной авторизацией

Код PHP:
  1.  
  2. $curl = curl_init('http://instantcms.ru/login');
  3. $post = array('login' => 'CozaNostra','pass' => 'пароль');
  4. $ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2)';
  5. curl_setopt($curl, CURLOPT_USERAGENT, $ua);
  6. curl_setopt($curl, CURLOPT_REFERER, 'http://instantcms.ru/');
  7. curl_setopt($curl, CURLOPT_POST, 1);
  8. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
  9. curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  10. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  11. $html = curl_exec($curl);
  12. c("browser1")->html = $html;
  13. curl_close($curl);
  14.  
Помог? ткни + в карму
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4574
CozaNostra:
$curl = curl_init('http://instantcms.ru/login');
редиректы могут неверно отрабатывать
Код PHP:
  1. $curl = curl_init('http://instantcms.ru/registration/login');
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 165
нивкакую...вот код, выдает страницу авторизации с пустыми полями и без стиля css

Код PHP:
  1.  
  2. <?php
  3. $curl = curl_init('http://instantcms.ru/registration/login');
  4. $post = array('login' => 'CozaNostra','pass' => 'пароль');
  5. $ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2)';
  6. curl_setopt($curl, CURLOPT_USERAGENT, $ua);
  7. curl_setopt($curl, CURLOPT_REFERER, 'http://instantcms.ru/');
  8. curl_setopt($curl, CURLOPT_POST, 1);
  9. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
  10. curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  11. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  12. $html = curl_exec($curl);
  13. echo $html;
  14. curl_close($curl);
  15. ?>
  16.  
Помог? ткни + в карму
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4574
CozaNostra, я что то погорячился с ответами) куки то где? авторизация проходит, но после редиректа ее уже нет.

Код PHP:
  1. curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); //Из какого файла читать
  2. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); //В какой файл записывать
Редактировалось: 2 раз (Последний: 3 декабря 2011 в 00:47)
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 165
по идее вот так должно срабатывать?
Код PHP:
  1.  
  2. <?php
  3. $cfile = $_SERVER['DOCUMENT_ROOT']."/cookies.txt";
  4. $curl = curl_init('http://instantcms.ru/registration/login');
  5. $post = array('login' => 'CozaNostra','pass' => 'пароль');
  6. $ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2)';
  7. curl_setopt($curl, CURLOPT_USERAGENT, $ua);
  8. curl_setopt($curl, CURLOPT_REFERER, 'http://instantcms.ru');
  9. curl_setopt($curl, CURLOPT_COOKIEJAR, $cfile);
  10. curl_setopt($curl, CURLOPT_COOKIEFILE,$cfile);
  11. curl_setopt($curl, CURLOPT_POST, 1);
  12. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
  13. curl_setopt($curl, CURLOPT_HEADER, true);
  14. curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  15. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  16. $html = curl_exec($curl);
  17. curl_close($curl);
  18. echo $html;
  19. ?>
  20.  
Помог? ткни + в карму
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4574
CozaNostra:
по идее вот так должно срабатывать?
что мешает попробовать?
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 165
Вроде при первом запросе авторизацию проходит, так как заголовки возвращают
Код PHP:
  1.  
  2. HTTP/1.1 301 Moved Permanently Date: Fri, 02 Dec 2011 20:50:32 GMT Server: Apache Location: http://instantcms.ru/registration/login Content-Length: 251 Connection: close Content-Type: text/html; charset=iso-8859-1 HTTP/1.1 200 OK Date: Fri, 02 Dec 2011 20:50:32 GMT Server: Apache [b]Set-Cookie: PHPSESSID=d57f81d36e00fd5369d805aa51e7baea;[/b] path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=windows-1251
  3.  
файл cookies.txt содержит
Код PHP:
  1.  
  2. # Netscape HTTP Cookie File
  3. # http://curl.haxx.se/rfc/cookie_spec.html
  4. # This file was generated by libcurl! Edit at your own risk.
  5.  
  6. instantcms.ru FALSE / FALSE 0 PHPSESSID d57f81d36e00fd5369d805aa51e7baea
  7.  
но страницу сайта возвращает с полями для авторизации, и как спарсить допустим страницу профиля...
ощущение что не берет он ничего из файла куков
Помог? ткни + в карму
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4574
CozaNostra:
как спарсить допустим страницу профиля
передавать PHPSESSID гетом как вариант
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 165
Код PHP:
  1.  
  2. $host='site.ru';
  3. $url = 'http://'.$host.'/';
  4. $urlTo = 'http://'.$host.'/login';
  5. $login = 'login';
  6. $pass = 'password';
  7. $cookie = 'cookie.dat';
  8. $post = array('login' => $login,
  9. 'pass' => $pass,
  10. 'remember'=> true,
  11. 'Submit' => true,
  12. 'login_btn' => true
  13. );
  14. $ch = curl_init();
  15. curl_setopt($ch, CURLOPT_URL, $url);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17. $html = curl_exec($ch);
  18. curl_setopt($ch, CURLOPT_URL, $urlTo);
  19. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
  20. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
  21. curl_setopt($ch, CURLOPT_POST, true);
  22. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  23. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  24. $html = curl_exec($ch);
  25. curl_close($ch);
  26.  
скрипт рабочий)
Помог? ткни + в карму
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: