Постер в соц закладки
Пятница, 18 сентября 2009 г.
Просмотров: 14339
Подписаться на комментарии по RSS
Все знают, что социальные закладки превратились в линкопомойки, уже
написано более десятка автоматических постеров, которые засирают базу
соц. закладок ссылками на ГС и ГБ. Напишем и мы еще один ![]()
Цель: Используя функции библиотеки CURL
сделать искусственный HTTP POST запрос, авторизироваться, сохранить
соц. закладку, и в целом показать как обычно делаются автоматические
постеры.
Да,
у бобрдобра есть API для постинга закладок, но я усложню себе задачу, и
с имитирую заход из браузера, введу программно логин и пароль, заполню
поля для сохранения закладки.
Сперва нужно посмотреть, как соц. закладка добавляется вручную, и
проследить за этим процессом Http сниффером (я использую плагин для
FIrefox - HttpFox), а затем воспроизвести программно.
1. Набираем в браузере адрес http://bobrdobr.ru/
2. Вводим логин и пароль, смотрим сниффер. Видим главное:
- Отправлять POST запрос нужно на адрес http://bobrdobr.ru/login/
- POST данные выглядят следующим образом:
- При успешном входе сервис пересылает нас ч-з 302-редиррект на главную страницу.
username=%ЛОГИН%&password=%ПАРОЛЬ%&remember_user=on&next=%2F
3. Кликаем по ссылке “Добавить закладку”, получаем диалог, в котором вводим все данные и жмем “Сохранить”.

Аналогично как и во втором пункте я с помощью сниффера получаю следующую информацию:
- Отправка POST данных идет на ссылку: http://bobrdobr.ru/new_bookmark.html
- Программисты ДоброгоБобра посчитали что смогут спастись от спамеров
- Ну и напоследок POST данные имеют следующий вид:
тем, что будут автоматически генерировать некий код… но не
предусмотрели, что его можно выпарсить из html кода. Имеем ввиду вот
эту строчку, ее нужно считать:
<<span class="start-tag">input</span><span class="attribute-name"> type</span>=<span class="attribute-value">"hidden" </span><span class="attribute-name">name</span>=<span class="attribute-value">"killspammers" </span><span class="attribute-name">value</span>=<span class="attribute-value">"055C5507560701013A040C0557"</span><span class="error"><span class="attribute-name">/</span></span>>
killspammers=530154500556000F6F52550000&url=%ССЫЛКА%&name=%ЗАГОЛОВОК%&tags=%ТЕГИ%&description=%ОПИСАНИЕ%&add_bookmark_submit=Сохранить
Теперь, когда механизм сохранения закладки для меня ясен, я начинаю программировать.
Каждую строчку я прокомментировал, надеюсь понятно. Вбивайте свои логины и пароли на БобрДобр и пробуйте, все работает.
<?php
// Ваши логин и пароль в бобрдобр
$login = 'ваш логин';
$pass = 'ваш пароль';
// Данные для постинга
$url = "http://www.google.com/";
$name = "Это гугл, чтобы не забыть!";
$tags = "Поисковая система, Супер-пупер";
$content = "Это содержимое";
// Создаем подключение
if( $curl = curl_init() ){
// Нужно загрузить главную страницу бобра
curl_setopt($curl,CURLOPT_URL,'http://bobrdobr.ru/');
// Нужно помнить кукисы!
curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");
// Скачанный код возвращаем в переменную а не в поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
// "Следовать туда, куда зовут". Если сервис выдает 302 код, мы следуем по этой ссылке
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
// Таймаут, если сервис не отвечает больше 30 секунд, выходим
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30);
// Активируем GZIP сжатие трафика
curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate');
// Соврем Бобру, напишем в юзер-агент неправду
curl_setopt($curl,CURLOPT_USERAGENT,'Бобр - дурак');
// Если все ок, в $html вернется html код главной страницы
if( $html = curl_exec($curl) ){
// Указываем куда отправлять запрос
curl_setopt($curl,CURLOPT_URL,'http://bobrdobr.ru/login/');
// Указываем подключению, что слать нужно не GET (по умолчанию), а POST запросы
curl_setopt($curl,CURLOPT_POST,TRUE);
// Указываем, что именно отправлять в POST данных, на этой стадии происходит ввод логина/пароля
curl_setopt($curl,CURLOPT_POSTFIELDS,"username=$login&password=$pass&remember_user=on&next=%2F");
// Если все ок, в $html вернется html код главной страницы
if( $html = curl_exec($curl) ){
// Парсим этот сложнейший код, который защищает Доброго Бобра от спама!
if( preg_match('/\<input type=\"hidden\" name=\"killspammers\" value=\"(.+?)\"\/\>/', $html, $out) ){
// Отправляем СПАМ!
// Указываем куда отправлять запрос
curl_setopt($curl,CURLOPT_URL,'http://bobrdobr.ru/new_bookmark.html');
// Указываем, что именно отправлять в POST данных, на этой стадии происходит ввод логина/пароля
curl_setopt($curl,CURLOPT_POSTFIELDS,"killspammers=$out[1]&url=$url&name=$name&tags=$tags&description=$content&add_bookmark_submit=%D0%A1%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%8C");
if( $html = curl_exec($curl) ){
echo 'Постинг выполнен!';
}
}
}
}
// Закрываем подключение, очищаем память
curl_close($curl);
}
?>Вот и все. Надеюсь было интересно. Мне всегда хотелось создать свой постер в соц закладки, но подумав, я купил готовый bposter . Думаю у них аналогично постинг и реализован. Источник
Еще записи по теме
- Скрипт статистики сайтов Alexcounter v4.0
- Накрутка и заработок с ClickCashMoney
- Тестирование видеофайлов HD качества (720i(p) и 1080p) на нетбуке Acer Aspire One 751h-52Bk с intel GMA 500 (часть2)
- Ротатор popap баннеров
- Онлайн игра Менеджер, или Монополия по Русски
- Следим за реферерами сайта
- Скрипт статистики
Комментариев: 1
Спасибо за инфу, попробую сделать на другие сервисы.