2011-01-13 13 views
0

私は/ perlのでログインして滞在取得に問題が生じていますが、ウェブサイトのヘッダーを見てみるとPerlのWWW :: MechanizeのJSESSION問題

に機械化、JSESSIONIDが変化し続けることが表示されます。私はクッキージャーを使用していますが、何とか上書きされていると思います。

#!/usr/bin/perl 
use strict; 
use warnings; 
use WWW::Mechanize; 
use HTTP::Cookies; 
use Crypt::SSLeay; 

use LWP::UserAgent; 
use Crypt::SSLeay::CTX; 
use Crypt::SSLeay::Conn; 
use Crypt::SSLeay::X509; 

use LWP::Simple qw(get); 
use LWP::Debug; 

my $cookie_jar = HTTP::Cookies->new(ignore_discard => 1); 
my $agent = WWW::Mechanize->new(cookie_jar => $cookie_jar, noproxy=>0); 
$agent->agent_alias('Linux Mozilla'); 

$ENV{HTTPS_CA_DIR} = 'cert/'; 

my $user = 'xxxx'; 
my $pass = 'xxxx'; 

my $url = ''; 

print "\n\n=========================================================\nGOING TO LOGIN PAGE:\n"; 
my $res = $agent->get($url); 

for my $key ($res->header_field_names()) { 
    print $key, " : ", $res->header($key), "\n"; 
} 
print "cookie: ".$agent->cookie_jar->as_string(); 
$agent->form_name('loginForm'); 
$agent->set_fields(
    userId => $user, 
    password => $pass 
);  
$agent->submit(); 


print "\n\n=========================================================\nREDIRECT:\n"; 
my $res = $agent->submit(); 

for my $key ($res->header_field_names()) { 
    print $key, " : ", $res->header($key), "\n"; 
} 
print "cookie: ".$agent->cookie_jar->as_string(); 


my $cUrl = ''; 
$cookie_jar->revert; 

print "\n\n=========================================================\nGOING TO CAMPAIGN PAGE:\n"; 
my $res = $agent->get($cUrl); 

for my $key ($res->header_field_names()) { 
    print $key, " : ", $res->header($key), "\n"; 
} 
print "cookie: ".$agent->cookie_jar->as_string(); 

答えて

0

これは働いていた私はなぜわからないが、私はLWP :: ConnCache

$agent->conn_cache(LWP::ConnCache->new()); 
を利用することによってこの問題を解決することができました
関連する問題