Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2017, 20:42   #1
mrblaster@protonma
Новичок
Джуниор
 
Регистрация: 23.05.2017
Сообщений: 0
По умолчанию Написать на Perl5 СООП сервер для получения WHOIS доменов

Привет всем!

Вот задание. Присылайте ценник и срок. Исполнитель должен хорошо знать AnyEvent
и иметь опыт.

Нужно написать собственный сервер, который слушает на каком-либо TCP порте и
принимает соеденения от клиентов с запросом на получение WHOIS данных пачки
доменов. Например, в таком формате:

domen-primer-123.ru\n
domen-primer-234.ru\n
domen-primer-345.ru\n
domen-primer-456.ru\n
domen-primer-567.ru\n
.

На этом же сервере должна работать MongoDB, которая должна хранить *локальную*
копию WHOIS данных по доменам, которые ранее были получены:

Если в локальной базе есть WHOIS данные по домену, тогда надо отдать их клиенту
(сокет клиента не закрывается пока весь запрос полностью не будет обработан).

Если в локальной базе нет WHOIS данных по домену, сервер должен начать
обращаться к WHOIS серверам доменов, используя socks5 прокси заданных в массиве:

my @socks5_pool = ('2.3.4.5:1080', '3.4.5.6:1080', '4.5.6.7:1080');

К одному socks5 прокси можно одновременно подключиться только один раз.

Как только данные по какому-либо домену приняты, их нужно добавить в локальную
MongoDB и отправить клиенту.

Если WHOIS ответ по домену не успешен, повторить запрос через свободный прокси
из пула (прокси сервера находятся в одной локалке с сервером).

РЕШЕНИЕ

Можно использовать Net::Whois::Raw + IO::Socket::Socks::Wrapper + AnyEvent.

Обязательно писать, используя AnyEvent.

Для MongoDB не нужен AnyEvent, т.к. база будет локальная. Клиент и сервер
удаленные. WHOIS серверы доменов, конечно, удаленные.

ОКРУЖЕНИЕ

Серверная Ubuntu 16.04.
mrblaster@protonma вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно написать сервер-лаунчер для DotA 2 Зариф Фриланс 0 17.09.2015 21:34
Написать на языке С++ описание данных для хранения списка и подпрограмму получения списка Т копированием в него элементов vikulyok Помощь студентам 0 12.05.2014 12:52
Написать сервер для игрового аппарата, вознаграждение от 300 000р grikor Фриланс 3 06.10.2012 19:42
Написать бота для игры (клиент-сервер). Оплата через webmoney. schuk Фриланс 0 11.05.2011 15:56
Whois в indy 9 для .ru доменов Alar Работа с сетью в Delphi 3 11.06.2009 12:34