Архив Сентябрь 2009

Простейший пример веб-сервиса без веб-сервера

#! /usr/bin/perl -w use strict; use Socket; my $port = shift || 82; my $proto = getprotobyname(‘tcp’); socket(SERVER, PF_INET, SOCK_STREAM, $proto) or die «socket: $!»; setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die «setsock: $!»; my $paddr = sockaddr_in($port, INADDR_ANY); bind(SERVER, $paddr) or die «Failed bind: $!»; listen(SERVER, SOMAXCONN) or die «Failed listen: $!»; print «Daemon started […]

Симулятор активной работы или Matrix — Just for fun

#!/usr/bin/perl -w use strict; use Term::ANSIColor; use Time::HiRes qw[usleep]; if(defined($ARGV[0]) && $ARGV[0]!~/^\d+$/){ print color ‘reset’; exit; } my $num = 2000; # сколько раз крутить my $strlen = 20; # длина строки my $length = 10000; # чем больше — тем дольше будет «вычисляться» строка $num = $ARGV[0] if $ARGV[0] =~ /^\d+$/; $strlen = $ARGV[1] […]

Логин в ЖЖ через HTTP

Для одной мерзкой цели потребовалось ходить в ЖЖ через HTTP — так удобней парсить некоторые вещи. Собственно, сниппет под катом. Пара слов о куках. Мне стало уже лениво писать под них лишние регулярки — но список их следующий: ljuniq ljmastersession ljloggedin BMLschemepref (схема кстати — кому хочется обратно dystopia — просто смените эту куку) langpref […]

Фоллоуить людей в твиттере автоматом? Легко!

Берём поисковый таймлайн по слову, к примеру, ru_followfriday и френдим всех кого ещё не френдим. В минуту в среднем можно делать 2-3 запроса — поэтому спим с рандомчиком. #!/usr/bin/perl -w use strict; use WWW::Curl::Easy; my $login = q[skazkin]; my $password = q[]; my $href = qq[http://search.twitter.com/search.atom?lang=en&q=ru_followfriday&rpp=100]; my $result = callTwitter({href=>$href}); my (@toFollow, $followed); if($result->{content}){ while($result->{content} […]

Постер статуса Вконтакте в Твиттер

#!/usr/bin/perl -w use strict; use Digest::MD5 qw(md5_hex); use WWW::Curl::Easy; use URI::Escape; use Carp qw[croak]; use Text::Iconv; my $twitter_login = q[skazkin]; my $twitter_password = q[]; my $vkontakte_login = q[e@mail]; my $vkontakte_password = q[]; my $tmp_file = q[/tmp/v2t.tmp]; my $converter = Text::Iconv->new(q[windows-1251], qq[UTF8]); my $check_hash = q[]; if(-e $tmp_file){ open FF, qq[ q[http://vkontakte.ru/login.php], referer => q[http://vkontakte.ru/index.php], headers_list […]