Perl:需要一个 LWP & HTTP::Request POST 实际有效的代码
Perl: Need an LWP & HTTP::Request POST code that actually works
我一直在挠头试图让 LWP 和 HTTP::Request 实际将 POST 参数传递给 Web 服务器。 Web 服务器可以看到请求是一个 POST 事务,但它没有获取传递的参数。我整天都在搜索这个并尝试了不同的东西,但我还没有找到有用的东西。 (Web 服务器正在运行,我能够手动发送 post 事务,当 运行 整个脚本时,我得到“200”状态,但我没有看到任何 posted 元素. 任何帮助将不胜感激。Tnx.
my $ua2 = LWP::UserAgent->new;
$ua2->agent("Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)");
my $req2 = HTTP::Request->new(POST => "$url", [ frm-advSearch => 'frmadvSearch' ]);
$req2->content_type('text/html');
my $res2 = $ua2->request($req2);
$http_stat = substr($res2->status_line,0,3);
my $res = $ua->post($url,
Content => [
'frm-advSearch' => 'frmadvSearch',
],
);
的缩写
use HTTP::Request::Common qw( POST );
my $req = POST($url,
Content => [
'frm-advSearch' => 'frmadvSearch',
],
);
my $res = $ua->request($req);
这是一个 Mojo::UserAgent 示例,我发现它更容易调试:
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
$ua->transactor->name( 'Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)' );
my $url = 'http://www.example.com/form/';
my $tx = $ua->post( $url, form => { 'frm-advSearch' => 'frmadvSearch' } );
say $tx->req->to_string;
$tx
中的事务知道请求,所以我可以查看它:
POST /form/ HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)
Accept-Encoding: gzip
Host: www.example.com
Content-Length: 26
frm-advSearch=frmadvSearch
我一直在挠头试图让 LWP 和 HTTP::Request 实际将 POST 参数传递给 Web 服务器。 Web 服务器可以看到请求是一个 POST 事务,但它没有获取传递的参数。我整天都在搜索这个并尝试了不同的东西,但我还没有找到有用的东西。 (Web 服务器正在运行,我能够手动发送 post 事务,当 运行 整个脚本时,我得到“200”状态,但我没有看到任何 posted 元素. 任何帮助将不胜感激。Tnx.
my $ua2 = LWP::UserAgent->new;
$ua2->agent("Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)");
my $req2 = HTTP::Request->new(POST => "$url", [ frm-advSearch => 'frmadvSearch' ]);
$req2->content_type('text/html');
my $res2 = $ua2->request($req2);
$http_stat = substr($res2->status_line,0,3);
my $res = $ua->post($url,
Content => [
'frm-advSearch' => 'frmadvSearch',
],
);
的缩写
use HTTP::Request::Common qw( POST );
my $req = POST($url,
Content => [
'frm-advSearch' => 'frmadvSearch',
],
);
my $res = $ua->request($req);
这是一个 Mojo::UserAgent 示例,我发现它更容易调试:
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
$ua->transactor->name( 'Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)' );
my $url = 'http://www.example.com/form/';
my $tx = $ua->post( $url, form => { 'frm-advSearch' => 'frmadvSearch' } );
say $tx->req->to_string;
$tx
中的事务知道请求,所以我可以查看它:
POST /form/ HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)
Accept-Encoding: gzip
Host: www.example.com
Content-Length: 26
frm-advSearch=frmadvSearch