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

Тема в разделе "Perl программирование", создана пользователем yaya, 16 июн 2009.

  1. yaya

    yaya Гость

    Здравствуйте! Есть набор похожих\однотипных сайтов с формой запрос\ответ, Хочу сделать ОДНУ форму(сайт) из которой данные отправлялись бы на все эти сайты. Первый сайт (№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.
     
  2. yaya

    yaya Гость

    Разобрался.
    Вот правильный код:
    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;
     
  3. Vovochka

    Vovochka Гость

    Молодца :)
     
Загрузка...
Похожие Темы - Basic аутентификация Postом
  1. Zhuk
    Ответов:
    0
    Просмотров:
    545
  2. animelubitel
    Ответов:
    0
    Просмотров:
    740
  3. marik22222
    Ответов:
    1
    Просмотров:
    1.205
  4. zolotco
    Ответов:
    0
    Просмотров:
    984
  5. animelubitel
    Ответов:
    0
    Просмотров:
    1.239

Поделиться этой страницей