Подскажите плиз. В общем имею вот такой скрипт. Надо спарсить данные по ссылке но к сожалению ничего не получается хотя вроде все сделано верно. PHP: <?php $data="act=login&data[login]=sdfsdfdsf@mail.ru&data[password]=12345678"; $fp = fsockopen("tmgame.ru", 80, $errno, $errstr, 10); if ($fp) { $out = "POST /login.php?mode=xml HTTP/1.1\n"; $out .= "Host: tmgame.ru\n"; $out .= "Referer: tmgame.ru/\n"; $out .= "User-Agent: Opera\n"; $out .= "Content-Type: application/x-www-form-urlencoded\n"; $out .= "Content-Length: ".strlen($data)."\n\n"; $out .= $data."\n\n"; fputs($fp, $out); } $content = file_get_contents('http://tmgame.ru/srv/chat/chat_proc?lChannel=15&xml=1'); preg_match('#<root error="(.?)"/>#', $content, $matches); print_r ($matches); ?>
Пасиб заработало. Ток вот понять не могу. Я нормально залогинилась, но почему при запросе вместо PHP: <root error="0"> <mesages/> <status last_grp_id="0" last_prv_id="0" loc_id="479" reload_in="3" message_sent="0" timer="0"/> </root> Выводиться PHP: <root error="Сессия просрочена"/>
PHP: $data="act=login&data[login]=sdfsdfdsf@mail.ru&data[password]=12345678"; $fp = fsockopen("tmgame.ru", 80, $errno, $errstr, 10); if ($fp) { $out = "POST /login.php?mode=xml HTTP/1.1\n"; $out .= "Host: tmgame.ru\n"; $out .= "Referer: tmgame.ru/\n"; $out .= "User-Agent: Opera\n"; $out .= "Content-Type: application/x-www-form-urlencoded\n"; $out .= "Content-Length: ".strlen($data)."\n\n"; $out .= $data."\n\n"; fputs($fp, $out); while(!feof($fp)){ $respons .= fgets($fp, 1024); } } Далее алгоритм на псевдокоде. PHP: $cookies = get_cookie($content); $content = http_get('http://tmgame.ru/srv/chat/chat_proc?lChannel=15&xml=1', $cookies); preg_match('#<root error="(.?)"/>#', $content, $matches); print_r ($matches);
Get_cookie - это твоя функция, которую ты должен/на написать. Она вырезает куки из переменной $content, там должна быть строчка типа Set-cookie: phpsess=blalalaa вот это phpsess=blalalaa и будет результатом работы функции, достать эту строку регуляркой можно.
забываем про сокеты, забываем про парсинг кукисов... Учим CURL и для кукисов заводим файл: кукисы нас не касаются, забываем про лишний гемор...