<form action="http://www.server.ru/cgi-bin/gbook.pl" method=post>
<input type=text name=name size=20><br>
<input type=text name=descr size=20><br>
<input type=submit value="Submit"><br>
<input type=reset value="clear">
</form>
нужно написать следующий скрипт(соответствующие значения полей name и descr
указаны в квадратных скобках):
#!/usr/bin/perl -w
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new();
my $req = POST 'http://www.server.su/cgi-bin/gbook.pl',
[ name => 'lalala',
descr => 'aaa'];
print $content = $ua->request($req)->as_string;
Если в форме полей больше, чем в приведенном примере, то их нужно просто перечислить в квадратных
скобочках через запятую, причем после поледнего поля запятую ставить не
нужно:
my $req = POST 'http://www.server.su/cgi-bin/gbook.pl',
[ name => 'lalala',
email => 'user\@host.ru',
text => qx{
bla-bla-bla
alalalalal hahahaha test
s privetom,
Vasya
}
descr => 'aaa'];
Если необходимо подгрузить помимо текста еще и картинку(картинки), то нужно указать
Content_Type => 'form-data':
#!/usr/bin/perl -w
$test = "http://www.server.ru/add.html";
$file = "test.gif";
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
use CGI qw(header -no_debug);
my $req = POST $test,
Content_Type => 'form-data',
Content => [
user => 'vasya',
password => '123456',
image => [$file],
href => 'aaaaaaaaaaaa',
profile => '13',
ratio => '333333',
alt => 'Hot News!',
];
my $res = LWP::UserAgent->new->request($req);
print header, $res->is_success ? $res->content : $res->status_line;
print $req->as_string;
если необходимо подгружать одновременно несколько картинок(любое число), без текста, то
это описано тут
или слегка модифицировав POST-запрос:
my $req = POST $test,
Content_Type => 'form-data',
Content => [
user => 'vasya',
password => '123456',
image1 => [$file1],
image2 => [$file2],
image3 => [$file3],
image4 => [$file4],
href => 'aaaaaaaaaaaa',
profile => '13',
ratio => '333333',
alt => 'Hot News!',
];
Вобщем такими методами можно отправлять картинки и/или сообщения через интернет
на различные доски объявлений и подобные типы сервисов
без участия человека. Так-же неплохо бы
найти и прочитать в интернете последнюю версию
LWP FAQ by fido7.ru.cgi.perl by Paul Kulchenko (paulclinger@yahoo.com)
Данную программу можно приспособить, например, для отправки SMS-сообщений через www.mts.ru/sms или иные странички. В случае биллайна нужно позвонить по определенному телефону, после чего на sms.beemail.ru будет выделен e-mail адрес, через который можно отпавлять почту через sms. Но биллайн не разрешает отправку пересылаемых сообщений(которые содержат Forward, т.е. нужно писать скрипт через procmailrc или smrsh, который бы перенаправлял сообщения на sms.beemail.ru). Так-же mts поддерживает отправку на sms простых картинок, но нужно с ними предварительно договариватся о формате.