Собственно, делаю скриптину на PHP - логинит на сайт и постит там мессагу. Типа так же, как и ВК на стены, только все на AJAXе. Так вот, передача простым POSTом что-то не катит - сайт вываливает ошибку, типа тянись к админу выяснять отношения ) Видно, как-то обойти аякс надо. Как решить данную траблу?
vikseriq Простым постом оО, это как? Если ошибка то скорее всего где то лишний перевод строки в запросе, или чего то не учитываешь (реферер, кукис, etc) Пример оригинального запроса и твоего - в студию
Мой запрос - шаблон: PHP: $out ="POST $path HTTP/1.1\r\n"; $out .="Host: $host\r\n"; $out .="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; ) Gecko/20080404 Firefox/2.0.0.14\r\n"; $out .="Cookie: $cookie\r\n"; $out .="Pragma: no-cache\r\n"; $out .="Content-Type: application/x-www-form-urlencoded\r\n"; $out .="Content-Length: " . strlen($form) . "\r\n"; $out .="Connection: Close\r\n\r\n"; $out .=$form; fwrite($sock, $out); Там по плану все оки, но... не передаются формы яксовые. а обычные - запросто. где-то маааленькая ошибка наверное.
Ладно, переформулируем.. на просьбу: предоставьте часть кода, где логинимся на какой-нить сайт и передаем аяксовую форму? для примера: ВК и стена. Кто подскажет?
ТС, ставиш proxomitron(работает как прокси), снифаеш заголовки и смотриш что там такое передаёт браузер.. а у тебя в запросе всё впроде-как верно.. попробуй referer передавать.
Там наверняка используется какая-нибудь библиотека, добавляющая заголовок X-Requested-With. BTW, аяксовых форм не бывает.
Что-то даже снифферы не спасают - видно был прав astrologer что-то про либы. Только вопрос остается открытым... Буду искать решение в manах )
Сниферы не спасают, конееееш, данные берутся из воздуха. Методология: 1) Авторизуемся на вконтакте и получаем кукисы 2) Открываем страницу со стеной куда будем писать 3) Парсим страницу на предмет: 3.1 PHP: function postIt() {ge('br').style.display = 'none'; makeFRequest('wall.php?act=get10&wall_hash=1301931d8fdb5342aea88c398748001f&wpage=100000', 3);}</script> Wall_hash - это собственно $path для твоего скрипта. 3.2 PHP: <form method="POST" action="wall.php" name="postMessage" id="postMessage"> <input type="hidden" id="to_id" name="to_id" value="53318907176"/> <input type="hidden" id="act" name="act" value="sent"/> Значение to_id попадет в пост запрос, как - mid=53318907176 3.3 В пост запрос попадут также - количество сообщений (например 2) fpage=2 и количество сообщений на странице (например 13) n=13. Как это отпарсить не смотрел, так что... 3.4 Собственно сообщение 3.5 Не забываем про реферер 4 Итоговый пост - seed=Наше мегасообщение&fpage=2&mid=53318907176&n=13 Вот что передает мозила Code: Host: vkontakte.ru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Referer: http://vkontakte.ru/idКакой то ID Content-Length: 52 Cookie: В рот мне ноги - тут печеньки ^^ Pragma: no-cache Cache-Control: no-cache seed=123456789ABCDEFJK&fpage=2&mid=53318907176&n=13 З.Ы. Попытка повторить запрос через LiveHTTPHeaders натолкнулось на капчу, так что какой то параметр постоянно меняется З.Ы.Ы, дерзай
Я чет не въеду, ТС ты хочешь спамер AJAXовый написать? Или у тя сайт на который спамить на аяксе написаН? О_о
-=Static=-, можно минус тебе влепить? Ты хоть тему-то читаешь? Да, сайт, где все на аяксе. И Опа там зеленая - даже не хочет авторизить. Подстановка запроса не спасает. Короч, лушче самому, ибо все дельные советы дали )