Раздел: Разработка
|
|
|
|
Socks-сервер - для его создания нам понадобятся две библиотеки из cpan: IO::Select и IO::Socket::Socks . Первая для обмена информацией между соединяемым хостом, вторая, собственно, для создания socks-сервера и socks-клиента. Для создания Socks-клиента достаточно прочитать документацию на cpan и посмотреть пример - там все более-менее расписано, а вот описание socks-сервера обделено вниманием. К счастью, в каталоге автора IO::Socket::Socks есть пример создания ( subs.pm ), его то мы и возьмем за основу, слегка допилив напильником и обеспечив многозадачностью (многоклиентовостью, если хотите :) )
Долго же я бился над передачей русского текста в jabber...
Перепробовал многие варианты:
исходный текст в UTF-8 == кракозяблы
исходный текст в WIN == кракозяблы
исходный текст в KOI8 == кракозяблы
utf8::decode($message); == кракозяблы
Ничего не помогало, пока случайно не наткнулся на исходник Jabber Shell Bot
Решение не очевидное, но, как ни странно, работающее:
Перепробовал многие варианты:
исходный текст в UTF-8 == кракозяблы
исходный текст в WIN == кракозяблы
исходный текст в KOI8 == кракозяблы
utf8::decode($message); == кракозяблы
Ничего не помогало, пока случайно не наткнулся на исходник Jabber Shell Bot
Решение не очевидное, но, как ни странно, работающее:
Возникла необходимость грабить и парсить одну страничку, находясь в локальной сети с MS Windows Server Active Directory и через прокси (в моем случе - это MS ISA-Server).
Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/lib/perl5/site_perl/5.8.8/LWP/Protocol.pm line 114
Вот такое предупреждение в логах часто мне попадается в аутсорсинговых проектах.
Вот такое предупреждение в логах часто мне попадается в аутсорсинговых проектах.
Что такое CPAN?
CPAN (Comprehensive Perl Archive Network) - Всеобщий сетевой архив Перл - это огромная коллекция программного обеспечения на/для Perl, а также документации. Этот архив доступен по адресу http://www.cpan.org . Также CPAN - это один из модулей для Perl (CPAN.pm), который позволяет значительно упростить установку модулей, опубликованных в этом архиве.
CPAN (Comprehensive Perl Archive Network) - Всеобщий сетевой архив Перл - это огромная коллекция программного обеспечения на/для Perl, а также документации. Этот архив доступен по адресу http://www.cpan.org . Также CPAN - это один из модулей для Perl (CPAN.pm), который позволяет значительно упростить установку модулей, опубликованных в этом архиве.