Отправка сообщений на несколько форумов на РНР
Речь не идет о спаме, постить надо уже от зарегеных пользователей. Например, форма, набираем текст, указываем ссылку на тему в форуме, отмечаем нужные форумы и жамк кнопкой - сообщение ушло! Все это треба на РНР
Код:
$socket=fsockopen(gethostbyname('www.форум.ru'),$port);//Открываем сокет
fputs($socket,$post);//Пишем в сокет
fputs($socket,$post);//Пишем в сокет
или через curl модуль для пхп.
Цитата: arrjj
$post переменную инициализируем сами, в зависимости от параметров, также в ней должны быть куки сессии.
или через curl модуль для пхп.
Код:
$socket=fsockopen(gethostbyname('www.форум.ru'),$port);//Открываем сокет
fputs($socket,$post);//Пишем в сокет
fputs($socket,$post);//Пишем в сокет
или через curl модуль для пхп.
Ты аутентификацию забыл :D
А что такое куки сессии, где их взять и что с ними делать?
Да точно также на форму логина постом посылаешь логин с паролем, сохраняешь куки, потом на форму отправки постом сообщение и куки.
1. Сокет открыли.
2. Как передать пароль и логин форме на обработку, там же имена полей, скрипт обработки и т.д.??
3. Ветка форума известна. Как передать нужное сообщение в ветку?
4. Какой использовать порт и использовать ли вообще?
генерации HTTP запросов. Подробно протокол описан в RFC 2616
Почитайте о
Когда мы делаем это через браузер - всё понятно, сессию держит браузер и следующий запрос отправляется с идентификатором сессии...
Объясните в ПХПшечке...
Я пока представляю это как:
Код:
fsockopen("адрес формы авторизации");
fputs("сюда кладём правильно сгенерированный запрос в форму авторизации");
fread("Отсюда вынимаем ответ сервера и ищем идентификатор сессии");
fclose();
fsockopen("адрес формы поста");
fputs("сюда кладём правильно сгенерированный запрос в форму поста и вынутый ранее идентификатор сессии");
fclose();
fputs("сюда кладём правильно сгенерированный запрос в форму авторизации");
fread("Отсюда вынимаем ответ сервера и ищем идентификатор сессии");
fclose();
fsockopen("адрес формы поста");
fputs("сюда кладём правильно сгенерированный запрос в форму поста и вынутый ранее идентификатор сессии");
fclose();
Любая форма отправляет данные через GET или POST. Обычно POST. Смотрите исходники формы, смотрите какие данные она отправляет. Далее генерируете POST-запрос (гугл: php post generate) и через сокет (а лучше через curl) отправляете эти данные.
Идентификатор сессии приходит с куками, куки содержатся в ответе. Т.е. читаете ответ, смотрите где указаны куки и вычлиняете оттуда идентификатор сессии. Далее при каждом запросе необходимо вручную указывать эти куки и сессию.
Мой совет, если не понимаете. Скачать любой сниффер или плагин (типа LiveHttpHeaders для мозилла) и произвести вход. Сразу увидите что за данные отсылаются и присылаются.
FireBug подойдет? Там есть чтение заголовком и ответов... ?