perl (perl ssl login LWP)

Модератор: Модераторы разделов

moodperson
Сообщения: 185

perl

Сообщение moodperson »

Имееться следующая форма:

Код: Выделить всё


<form action="/cabinet/" method="post"><input type=hidden name="CabinetAction" value="login">
<table width="100%" cellpadding="0" cellspacing="0" class="override">
<tr><td>Ваше имя</td><td align="right"><input type="text" style="width: 170px" name="Name"></td></tr>
<tr><td>Ваш пароль</td><td align="right"><input type="password" style="width: 170px" name="Password"></td></tr>
<tr><td align="left" style="padding-top: 5px" colspan="2"><input type="submit" value="Войти" class="submit"></td></tr>
</td></tr>
</table>
</form>


Задача:
Залогониться в эту форму перловым скриптом.
Пример скрипта:

Код: Выделить всё

#!/usr/bin/perl

use strict;
use Crypt::SSLeay;
use LWP::UserAgent;
use LWP::Simple;
use HTTP::Request::Common qw(POST);
use HTTP::Cookies;

my ($me, $mypass);

if (@ARGV == 2)
{
    $me         = $ARGV[0];
    $mypass     = $ARGV[1];
}
else
{
    die "Error 01: Usage: $0 <login> <passw>\n";
}

my $ua          = LWP::UserAgent->new;
my $cookie_jar  = HTTP::Cookies->new(file => "lwpcookies2.txt",autosave => 1);

$ua->cookie_jar( $cookie_jar);
#$ua->agent('Mozilla/5.0');
$ua->agent('Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)');

my $url         = 'https://customer.sipnet.ru/';
my $action      = "login";

my $req         = POST $url, [ 'CabinetAction' => $action, 'name' => $me, 'password' => $mypass ];
my $res         = $ua->request($req);

$cookie_jar->extract_cookies($res);

my $to_file = $res->as_string;

if ($res->is_success)
{
    write_file();
}
else
{
    print "Failed: ", $res->status_line, "\n";
}

sub write_file {
    my $outfile = "stat.html";
    open(OUTFILE, ">$outfile");
    print OUTFILE "$to_file";
    close(OUTFILE);
}


В конечном этоге, в файле "stat.html" остается стартовая страница :/. Что не так?
P.S. Сайт юзает ssl
Gentoo Base System version 1.6.14
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: perl

Сообщение KiWi »

По крайней мере -- нет обращения к action формы.
Спасибо сказали:
moodperson
Сообщения: 185

Re: perl

Сообщение moodperson »

Код: Выделить всё

HTTP/1.1 200 OK
Connection: close
Date: Mon, 07 Aug 2006 16:26:42 GMT
ETag: "702bad-148-5fc26580"
Server: Microsoft-IIS/5.0
Content-Length: 328
Content-Type: text/html; charset=windows-1251
Content-Type: text/html; charset=windows-1251
Last-Modified: Wed, 07 Dec 2005 14:57:42 GMT
Client-Date: Mon, 07 Aug 2006 16:28:41 GMT
Client-Peer: 212.53.35.251:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Server CA/emailAddress=server-certs@thawte.com
Client-SSL-Cert-Subject: /O=customer.sipnet.ru/OU=Domain Validated/OU=Go to https://www.thawte.com/repository/index.html/OU=Thawte SSL123 certificate/CN=customer.sipnet.ru
Client-SSL-Cipher: DHE-RSA-AES256-SHA
Client-SSL-Warning: Peer certificate not verified
Refresh: 0; URL=/

что и как и куда делать с сертификатами?
Gentoo Base System version 1.6.14
Спасибо сказали:
moodperson
Сообщения: 185

Re: perl

Сообщение moodperson »

Код: Выделить всё


my $req         = POST $url, [ 'CabinetAction' => $action, 'name' => $me, 'password' => $mypass, 'submit' => 'Войти' ];


хы хы так запахало :wacko:
Gentoo Base System version 1.6.14
Спасибо сказали: