【发布时间】:2017-08-18 02:37:15
【问题描述】:
我创建了一个 perl 脚本来从网站获取一些信息。该网页不会自行重定向,我需要单击继续自行重定向。我可以用 perl 来做吗?
#!/usr/bin/perl -w
use feature ':5.10';
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Request::Common qw(POST);
use HTTP::Cookies;
use CACertOrg::CA;
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
my $outfile="out.html";
my $URL="http://www.example.com;
my $UA = LWP::UserAgent->new();
$UA->ssl_opts(
SSL_verify_mode => 'SSL_VERIFY_NONE',
verify_hostnames => 0,
SSL_ca_file => CACertOrg::CA::SSL_ca_file()
);
$UA->cookie_jar(HTTP::Cookies->new(file => 'cookie_jar', autosave =>1));
my $req =HTTP::Request::Common::POST("$URL",
Content_type=>'form-data',
Content =>[
'username'=>'user',
'password'=>'pass',
'vhost'=>'standard'
]
);
$req->header('Cookie' =>q(TIN=287000; LastMRH_Session=439960f5; MRHSession=78c9c47291c1fcedae166121439960f5));
my $resp=$UA->request($req);
open(OUTFILE, ">$outfile");
print OUTFILE $resp->decoded_content;
close(OUTFILE);
我打印出来的out.html是这样的
当我打开 html 文件时,它直接重定向到我想要的页面,但不在代码中。在代码中的任何地方都可以到达wwww.example.com。
8 月 18 日添加
我尝试使用这个命令,它会在我的浏览器中打开www.example.com
my $ret = system( 'out.html' );
但我想要的是获取www.example.com 的html,而不是打开网站。
【问题讨论】:
标签: html perl httprequest url-redirection lwp-useragent