| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Basic аутентификация POSTом!!! |
| Автор: yaya 16.6.2009, 14:09 |
| Здравствуйте! Есть набор похожих\однотипных сайтов с формой запрос\ответ, Хочу сделать ОДНУ форму(сайт) из которой данные отправлялись бы на все эти сайты. Первый сайт (№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. |
| Автор: yaya 17.6.2009, 09:08 |
| Разобрался. вот правильный код: 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; |