Xpoint
   [напомнить пароль]

работа с socks proxy на perl, IO::Socket::Socks, Mail::Transport::POP3

Метки: [без меток]
2007-05-15 15:54:24 [обр] Dmitry Vyacheslavov[досье]

А кто скажет как реализовать подключение к удаленному серверу через socks proxy?

my $proxy = new IO::Socket::Socks(ProxyAddr=>"$proxy_host",
                                ProxyPort=>"$proxy_port",
                                ConnectAddr=>"$remote_host",
                                ConnectPort=>"$remote_port",
                                AuthType=> 'none',
                                Timeout => '10',
                                SocksDebug => '1' );
 
if (!defined($proxy))
{
    die($SOCKS_ERROR);
    exit(1);
}

Вот создал я $proxy через проксю на 110 порт pop.mailserver.com, а дальше?
Вопросы:

  1. Как послать USER vasya и PASS passw0rd через этот $proxy и прочитать ответ от сервера? Пробовал слать таким образом:

>>>
print $proxy "USER vasya\n";
sysread ($proxy,$buf,4096);
print "BUF:$buf\n\n"; # не прокатывает (или я чего-то не так делаю).
<<<

  1. Решил использовать my $receiver = Mail::Transport::POP3->new(...) для верности. И снова тупик. А как вот этот $receiver пропихнуть через $proxy?
спустя 19 часов [обр] Green(0/6)[досье]
Мне кажется правильнее так.
$mail= Mail::Transport::POP3->new
                                 (proxy => ’Путь_к_проксе’,
                                  hostname => 'pop.mailserver.com',
                                  port => '110',
                                  username => 'vasya',
                                  password => 'qwerty'
                                 )
спустя 1 час 31 минуту [обр] Алексей Севрюков(61/1292)[досье]
Green[досье] Вы хоть бы ман сперва почитали perldoc Mail::Transport::POP3. username и password для POP3 сервера, а не для proxy. Автор же спрашивает как ему "ходить" через закрытый прокси, требующий авторизации с помощью логина и пароля.
спустя 36 минут [обр] Dmitry Vyacheslavov[досье]

Green[досье] Я пробовал так. proxy указывал "10.2.1.1:1080", ругается, что неправильный proxy path. Я так понял, что либо формат прокси введен неправильно (не нашел в гугле), либо это какой-то другой прокси (локальный?) должен использоваться.

Алексей Севрюков[досье] Для начала я бы хотел разобраться с прокси без аутентификации, а потом можно и с аутентификацией пробовать.

спустя 16 минут [обр] Dmitry Vyacheslavov[досье]

Утро вечера мудренее :)
Нашел в perldoc Mail::Transport

proxy PATH
    The name of the proxy software (the protocol handler). This must be the name (preferable the absolute path) of your mail delivery software.

Так что это не тот прокси, который мне нужен. Второй вопрос сейчас больше интересует. Отдельно $proxy и $receiver подключаются, а вот как пропихнуть $receiver через $proxy?...

спустя 13 дней [обр] Dmitry Vyacheslavov[досье]
есть кто живой?
Powered by POEM™ Engine Copyright © 2002-2005