Вот мой скриптик для отправки смс-ок через анонимные прокси (для обхода ограничения на количество смс с одного айпи) на номера МТС московской области, может быть кому пригодится:cat /usr/local/sbin/sendsms.pl
#!/usr/bin/perl -w
# Директория, где будет лежать файл с адресами прокси
my $dir="/tmp";
# Количество попыток отправить смс
my $tries=5;
use strict;
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use IO::Socket;
unless ($ARGV[0]){print "Usage: $0 7916XXXXXXX\n\texample: $0 79161234567\n";sleep 1; exit 0;}
my $ua = LWP::UserAgent->new;
if (!-e "$dir/proxylist.$<"){&getproxy();}
open F, "<$dir/proxylist.$<" or die "Can't read $dir/proxylist.$<: $!\n";
my @proxies=<F>;
close F;
my $text=<STDIN>;
my ($rem,$proxy);
TRY:
if(!$tries){die "Can't send message!";}
if(@proxies < 20){&getproxy();}
my $num=int(rand(@proxies-1));
chomp($proxy=$proxies[$num]);
splice @proxies,$num,1;
$rem = IO::Socket::INET->new(Proto=>"tcp",PeerAddr=>"$proxy",Timeout=>3);
if(!$rem){goto TRY;}
close $rem;
open F, ">$dir/proxylist.$<" or die "Can't write $dir/proxylist.$<: $!\n";
print F @proxies;
close F;
$ua->proxy('http', "http://$proxy");
my $req = POST "http://sms.mts.ru/cgi-bin/cgi.exe",
[function=>'sms_send',To=>$ARGV[0],Msg=>$text,Hour=>15,Min=>34,Day=>20,Mon=>'08',Year=>2005,Lang=>'211:26-16/01' ];
my $res = $ua->request($req);
if($res->is_success){
# print "Message was sent!\n";
} else {
$tries--;
goto TRY;
}
sub getproxy {
unlink "$dir/proxylist.$<";
for(my $i=2;$i<=15;$i++){
if($i<=9){$i="0".$i;}
my $req = HTTP::Request->new(GET => "http://www.samair.ru/proxy/proxy-$i.htm");
my $res = $ua->request($req);
$i=~s/^0//g;
if ($res->is_success){
my @lines=split/<BR>|<tr>|\n/,$res->content;
open F, ">>$dir/proxylist.$<";
foreach (@lines){
if(/SSL/){next;}
if(/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d+)/){print F $1,"\n";}
}
close F;
} else {print "Error getting proxy list $1/1/$i: $1\n";}
}
}