Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > magent на perl (не могу искать пользователей)


Автор: demond 21.2.2008, 00:08
Доброго времени суток! Решил реализовать свой mail-agent на perl, но сталкнулся с неожиданной проблемой: если запустить "поиск пользователей(добавить контакт->поиск)", то вместо списков контактов получаю только один контакт, и тот support@corp.mail.ru.
для реализации использовал модуль Net::MRIM
(http://search.cpan.org/~aau/Net-MRIM-1.06/MRIM.pm)
читал и описание протокола
(http://forum.antichat.ru/threadnav38069-1-10.html
http://agent.mail.ru/developers/)
вот мой код:

use lib qw(.);
use MRIM;
$|=1;
my ($login,$passwd)=("super\@mail.ru","pass");
my $mrim=Net::MRIM->new(
                        Debug=>0,
                        PollFrequency=>5
                        );
 $mrim->hello();

  if (!$mrim->login("$login","$passwd")) {
        print "LOGIN REJECTED\n";
        exit;
 } else {
        print "LOGGED IN\n";
 }


 #получение списка контактов с заданными данными (24 - Россия)
 my ($email, $sex, $country, $online)=('','','24','');

 my $ret=$mrim->ping();
 $ret = $mrim->search_user($email, $sex, $country, $online);

if ($ret->is_contact_list())
{
 $clist=$ret->get_contacts();
 while (($keys,$values)=each %$clist)
 {
   print $keys."->".$values->get_email()."\n";#здесь на выходе получаю только support@corp.mail.ru->support@corp.mail.ru
 }
}
else
{
 print "[-] ";
}

 $mrim->disconnect();
 print "\nDISCONNECT\n"

пытался реализовать и без использования Net::MRIM, только сокеты, но результат тот же самый! Может кто-нибудь сталкивался с этим? Подскажите, пожалуйста,что может быть не так!

Автор: nitr 22.2.2008, 03:29
В принципе у вас верно сделано, хотя можно поработать над стилем, но это не суть пока...
Или новому пользователю надо пройти еще несколько шагов по авторизации или регистрации, но в контактах всегда именно то что у вас выходит, если же добавить пользователя (без поиска), то потом контакт-лист пополняется на одно человека smile .

В общем похоже, что надо продлеать некоторые шаги для авторизации или еще чего-то, чтобы ваша учетка смогла пользоваться поиском. Проверить не могу, т.к. не хочу ставить этот клиент, но скрипт проверил, прочел протокол и ман к модулю - всё должно работать, т.е. это блок со стороны сервера.
Уточняйте. Если не найдете, пишите, попробую помочь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)