|
|
|
| Пытаюсь парсить страницу, но на ней стоит авторизация которая принимает только POST данные.
Тоесть в тот момент когда я ее пытаюсь парсить нужно передать POST данные (логин и пароль) для авторизации, а иначе выводится форма для авторизации. Как передать POST Данные? Если можно то пример целиком от подключения до вывода данных. С уважением Роман.
Вот так парсю страничку. Остается передать данные методом POST. (login, password)
$fp = fsockopen("www.XXXXX.ru", 8080);
$query = "GET /cpanel HTTP/1.0\r\n"
."Host: suncity.combats.ru\r\n"
."Referer: http://www.XXXXX.ru/\r\n"
."User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.51\r\n"
."Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n"
."Accept-Language: ru,en;q=0.9\r\n"
."Connection: Keep-Alive\r\n"
."Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n\r\n";
fwrite($fp, $query);
$buff = "";
while(!feof($fp)) $buff .= fread($fp, 1024);
fclose($fp);
list($headers, $body) = explode("\r\n\r\n", $buff, 2);
print $body;
|
| |
|
|
|
|
|
|
|
|
для: mihdan
(09.06.2008 в 17:44)
| | Спасибо! Разобрался.
Вот что получилось. Работает
<?
$fp = fsockopen("www.xxxx.ru", 80);
$content = "login=xxxx&password=xxxx";
$query = "POST /index.php HTTP/1.0\r\n"
."Host: www.xxxx.ru\r\n"
."Referer: http://www.xxxx.ru\r\n"
."User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.51\r\n"
."Accept: text/html,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n"
."Accept-Language: ru,en;q=0.9\r\n"
//."Connection: Keep-Alive\r\n"
."Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n"
."Content-Type: application/x-www-form-urlencoded\r\n"
."Content-Length: ".strlen($content)."\r\n\r\n"
.$content."\r\n\r\n";
fwrite($fp, $query);
$buff = "";
while(!feof($fp)) $buff .= fread($fp, 9999);
fclose($fp);
list($headers, $body) = explode("\r\n\r\n", $buff, 2);
print $body;
?>
|
| |
|
|
|