Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запрос к whois (на 43 порту) через AnyEvent 
:(
    Опции темы
djusha
Дата 1.7.2011, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



Привет всем!
Каким образом сделать запрос к whois (на 43 порту) через AnyEvent?

например, адрес whois сервера: whois.crsnic.net
нужно получить whois информацию о домене yahoo.com

Если можно, простой рабочий пример...

Спасибо!

Это сообщение отредактировал(а) djusha - 1.7.2011, 15:39
PM WWW   Вверх
DurRandir
Дата 1.7.2011, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 335
Регистрация: 27.9.2009

Репутация: 1
Всего: 17



Разберитесь, как работает протокол whois (это очень, очень, очень простой протокол).
PM   Вверх
djusha
Дата 1.7.2011, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



Цитата(DurRandir @ 1.7.2011,  17:22)
Разберитесь, как работает протокол whois (это очень, очень, очень простой протокол).

да вот как то не получается разобратся... иначе не спрашивал бы...

 POST или GET запросы ?

какие параметры уходят к whois серверу?
PM WWW   Вверх
vadiml
Дата 1.7.2011, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: нет
Всего: 7



Думаю как работает telnet Вы знаете:
[vadim@vadiml ~]$ telnet whois.ripn.net 43
Trying 212.193.111.1...
Connected to whois.ripn.net.
Escape character is '^]'.
vingrad.ru                                                                 <------------ это я ввёл ручками
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
http://www.ripn.net/about/servpol.html#3.2 (in Russian) 
http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain:     VINGRAD.RU
nserver:    ns1.vingrad.com.
nserver:    ns2.vingrad.com.
state:      REGISTERED, DELEGATED, UNVERIFIED
person:     Private Person
e-mail:     [email protected]
registrar:  REGTIME-REG-RIPN
created:    2000.09.13
paid-till:  2011.09.14
source:     TCI

Last updated on 2011.07.02 00:20:46 MSK/MSD

Connection closed by foreign host.


PM MAIL Jabber   Вверх
djusha
Дата 2.7.2011, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



причем здесь телнет... да... я знаю как это там работает.

есть даже рабочий код/пример на IO::Socket

Код

use IO::Socket;

my $dName = 'hdd-repair.com';
my $socket;

while ( ! ($socket = IO::Socket::INET->new("whois.crsnic.net:43") ) ) {
  print ("Not connected: $!\nSleep 1 sec\n");
  sleep 1;
}
unless ($socket) {print "error";}
$socket->autoflush(1);

print $socket  "domain $dName\r\n";
my @rz = <$socket>; close $socket;
print @rz;


но вот как это переделать на AnyEvent уже который день не доходит....
PM WWW   Вверх
shamber
Дата 2.7.2011, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



Цитата(djusha @  1.7.2011,  21:11 Найти цитируемый пост)
 POST или GET запросы ?

а с чего вы взяли, что нужно использовать их?

Добавлено через 7 минут и 37 секунд
Может лучше AnyEvent::Socket?
PM MAIL Jabber   Вверх
djusha
Дата 6.7.2011, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



Цитата(shamber @ 2.7.2011,  16:39)
Цитата(djusha @  1.7.2011,  21:11 Найти цитируемый пост)
 POST или GET запросы ?

а с чего вы взяли, что нужно использовать их?

Добавлено @ 16:46
Может лучше AnyEvent::Socket?

так AnyEvent::Socket и мучию.

сейчас пример нашел, http://www.ni-al.ru/index.php/Perl::AnyEvent::Net
чутка доделал, вроде работает....

другой вопрос... как AnyEvent::Socket заставить посылать запросы к whois серверу с разных IP адресов сервера...

в AnyEvent::HTTP это делается добавлением   
Код

on_prepare => sub { bind($_[0], ....


а как поступить с AnyEvent::Socket ?
PM WWW   Вверх
djusha
Дата 6.7.2011, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



и еще, как установить в AnyEvent::Socket количество одновременно работающих потоков?
PM WWW   Вверх
djusha
Дата 9.7.2011, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.6.2008

Репутация: нет
Всего: нет



Цитата(djusha @ 6.7.2011,  23:28)
и еще, как установить в AnyEvent::Socket количество одновременно работающих потоков?

в документации к AnyEvent::Socket сказано:
Код

=item $sa = AnyEvent::Socket::pack_sockaddr $service, $host

Pack the given port/host combination into a binary sockaddr
structure. Handles both IPv4 and IPv6 host addresses, as well as UNIX
domain sockets (C<$host> == C<unix/> and C<$service> == absolute
pathname).

Example:

   my $bind = AnyEvent::Socket::pack_sockaddr 43, v195.234.53.120;
   bind $socket, $bind
      or die "bind: $!";


от куда взять цокет $socket ?

сам скрипт по примеру http://www.ni-al.ru/index.php/Perl::AnyEvent::Net работает

Это сообщение отредактировал(а) djusha - 9.7.2011, 13:20
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.