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

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

Репутация: 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($ch, CURLOPT_URL, "http://memori.ru/login/");   
curl_setopt($ch, CURLOPT_HEADER, 1);   
curl_setopt($ch, CURLOPT_USERAGENT, $ua);  
curl_setopt($ch, CURLOPT_TIMEOUT, 10);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_REFERER, "http://memori.ru/");  
curl_setopt($ch, CURLOPT_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..
 
Ответить с цитированием