Показать сообщение отдельно

  #3  
Старый 28.10.2008, 14:05
prescott
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме:
728470

Репутация: 115
По умолчанию

В данном случае сайт не делает лишних проверок, поэтому перед авторизацией сессию ставить не нада, можно сразу слать данные. Вот рабочий вариант:

PHP код:
$url "http://memori.ru/login/"
$ua 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)'
$ch curl_init();  
$post="login=megalol&passw=nvidia&go_logining=1&book=0&sf=&remember=1";   

curl_setopt($chCURLOPT_URL"http://memori.ru/login/");   
curl_setopt($chCURLOPT_HEADER1);   
curl_setopt($chCURLOPT_USERAGENT$ua);  
curl_setopt($chCURLOPT_TIMEOUT10);  
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);  
curl_setopt($chCURLOPT_POST1); 
curl_setopt($chCURLOPT_REFERER"http://memori.ru/");  
curl_setopt($chCURLOPT_POSTFIELDS$post);
   
$result curl_exec($ch);   

echo 
$result
В ответ получаем заголовки:

Код:
HTTP/1.1 302 Found Via: 1.1 RAID-PROXY Connection: Keep-Alive Proxy-Connection: Keep-Alive Content-Length: 0 Expires: Thu, 19 Nov 1981 08:52:00 GMT Date: Tue, 28 Oct 2008 10:02:41 GMT location: http://memori.ru/megalol/ Content-Type: text/html Server: nginx/0.5.28 X-Powered-By: PHP/5.2.3 Set-Cookie: PHPSESSID=3b731188cdf0c2369bf738f67ff1ce40; path=/ Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: isp=540df7f83845146f0287ff6d2da77900; expires=Sat, 27-Dec-2008 10:02:41 GMT; path=/ Set-Cookie: isl=megalol; expires=Sat, 27-Dec-2008 10:02:41 GMT; path=/
Вырезаем строку PHPSESSID=3b731188cdf0c2369bf738f67ff1ce40
и ее используем для дальнейших запросов к серверу, передавая кукисами, чтобы он считал вас авторизованым под вашим логином.

=========================
Кстати, если параметр равен нулю, это не значит что его нет, при отправкее запроса передавайте ВСЕ параметры, имеющиеся в форме, в вашем не хватает параметра book.

Последний раз редактировалось prescott; 28.10.2008 в 14:22..
 
Ответить с цитированием