Basic аутентификация Postом!

  • Автор темы yaya
  • Дата начала
Y

yaya

Гость
#1
Здравствуйте! Есть набор похожих\однотипных сайтов с формой запрос\ответ, Хочу сделать ОДНУ форму(сайт) из которой данные отправлялись бы на все эти сайты. Первый сайт (№1) имеет BASIC-аутентификацию со стороны сервера! А теперь о проблеме:


Есть сайт №1 index.html:
<HTML><HEAD>
<TITLE>offical</TITLE>
</HEAD>
<BODY>
<P>Сервис для вас!
<FORM NAME="form_example" ACTION="http://pl/form1.cgi" METHOD="POST">
Name: <INPUT TYPE="TEXT" NAME="f_name"><BR>
Surname: <INPUT TYPE="TEXT" NAME="l_name"<BR>
<INPUT TYPE="SUBMIT" NAME="doit" VALUE="Send">
</FORM>
</BODY>
</HTML>

form1.cgi:
!/usr/bin/perl/bin/perl -w
use strict;
use CGI qw:)standard);
use CGI::Carp qw(fatalsToBrowser);
my $first_name=param('f_name');
my $last_name=param('l_name');
print header;
print start_html('E.g.');
print qq(Hallo, $first_name $last_name<P>);
print end_html();

После исполнения скрипта получаем e.g.: Hallo, Vasy Pupkin

Мой сайт index.html:
<HTML><HEAD>
<TITLE>Go</TITLE>
</HEAD>
<BODY>
<P>ALLquest
<FORM NAME="form_example" ACTION="http://go/global.pl" METHOD="POST">
Name: <INPUT TYPE="TEXT" NAME="g_f_name"><BR>
Surname: <INPUT TYPE="TEXT" NAME="g_l_name"<BR>
<INPUT TYPE="SUBMIT" NAME="doit" VALUE="Send">
</FORM>
</BODY>
</HTML>

Мой скрипт global: передает данные на исполнение скрипту form1.cgi
#!/usr/bin/perl/bin/perl -w
use LWP::UserAgent;
use CGI qw:)standard);
use CGI::Carp qw(fatalsToBrowser);
#print "Content-Type:text/html\n\n";
#print header(-charset=>'cp1251');
my $g_f_name=param('g_f_name');
my $g_l_namme=param('g_l_name');
$agent=LWP::UserAgent->new;
my $url='http://login:password@pl:80/';
#my $response=$agent->get($url);
$response=$agent->post($url,
[
'f_name'=>$g_f_name,
'l_name'=>$g_l_name,
'doit'=>''
]
);
Каким образом его дописать не знаю.! Хочу передать данные из моей формы(моего сайта) на исполнение сайту pl(скрипту form1.cgi), и обработанные данные получить в формате html в окне браузера, т.е. увидеть строку Hallo, Vasy Pupkin.
 
Y

yaya

Гость
#2
Разобрался.
Вот правильный код:
use LWP::UserAgent;
use CGI qw:)standard);
use CGI::Carp qw(fatalsToBrowser);
my $g_f_name=param('g_f_name');
my $g_l_name=param('g_l_name');
$agent=LWP::UserAgent->new;
my $url='http://login:password@pl:80/form1.cgi';
my $req=HTTP::Request->new(POST=>$url);
$req->content("f_name=$g_f_name&l_name=$g_l_name");
my $res=$agent->request($req);
print "Content-Type:text/html\n\n";
print $res->content;