Добрый день. Прошу прощения, если вопрос совсем глупый, киньте в меня хорошей, годной ссылкой для абсолютных чайников. Спасибо!
Поставлена задача написать программу для автоматической рассылки сообщений в соц. сети вконтакте. Как я понимаю суть задачи, мой пхп скрипт должен определенному скрипту на сервере контакта передать определенные POST данные. Для этого мой скрипт должен предварительно пройти авторизацию на сайте. Так?
Собственно остановился на процессе авторизации. Прочитал вот http://forum.vingrad.ru/topic-103996.html, скачал HTTP analyzeer, посмотрел, что-куда отправляется, написал скрипт.
Анализатор дал мне следующую информацию: ===HEADERS===
Код | Content-Length:159 Content-Type:application/x-www-form-urlencoded Accept-Encoding:gzip, deflate Referer:http://vkontakte.ru/al_index.php?act=auth_frame Connection:keep-alive Host:login.vk.com User-Agent:Mozilla/5.0 (Windows NT 5.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1 (Request-Line):POST /?act=login HTTP/1.1 Cookie:remixlang=0; remixchk=5; remixsid=ddc698647b2cab3e4cb01832c70356565ea411d62e126fbe9cadb3af70196013 Accept-Language:ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset:windows-1251,utf-8;q=0.7,*;q=0.7
|
===POST DATA===
Код | act=login q=1 al_frame=1 expire= captcha_sid= captcha_key= from_host=vkontakte.ru ip_h=9408d78c019b87455b email=* pass=*
|
Код | <?php $socketOpen = fsockopen ( 'login.vk.com',80,$errorNumber,$errorMessage,5); if ( $socketOpen ) { $header = "POST /?act=login HTTP/1.1\n"; $header .= "Host: login.vk.com\n"; $header .= "Content-Length: 159\n"; $header .= "Content-Type: application/x-www-form-urlencoded\n"; $header .= "Accept-Encoding: gzip, deflate\n"; $header .= "Referer: http://vkontakte.ru/al_index.php?act=auth_frame\n"; $header .= "Connection: keep-alive\n"; $header .= "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1\n"; $header .= "Cookie: remixlang=0; remixchk=5; remixsid=ddc698647b2cab3e4cb02341832c7035ea342411d62e126fbe9cadb3af70196013\n"; $header .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\n"; $header .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\n"; $header .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\n\n"; $header .= "act=login&"; $header .= "q=1&"; $header .= "al_frame=1&"; $header .= "expire=&"; $header .= "captcha_sid=&"; $header .= "captcha_key=&"; $header .= "from_host=vkontakte.ru&"; $header .= "ip_h=9408d78c034419b87455b&"; $header .= "email=моя_почта&"; $header .= "pass=мой_пароль"; fputs ( $socketOpen , $header );
fclose ( $socketOpen ); } ?>
|
Скрипт выполняется без ошибок, но я не могу понять, как посмотреть результат его работы, произошла ли авторизация или нет. Когда дописываю
Код | while( !feof ( $socketOpen ) ) { echo fgets ( $socketOpen ); }
|
Программа останавливается по таймауту. Подскпажите, пожалуйста, как понять, произошла ли авторизация. Спасибо! |