【问题标题】:Using Perl LWP::UserAgent I get a response on port 443 but not from port 8443使用 Perl LWP::UserAgent 我在端口 443 上得到响应,但不是来自端口 8443
【发布时间】:2013-03-14 10:20:16
【问题描述】:

我正在使用 LWP::UserAgent 检查来自服务器的响应。我从端口 443 得到响应,但我无法从端口 8443 得到任何响应。

当我在 Windows 上使用 cURL 时,我会从两个端口获得响应代码。

请帮帮我。

【问题讨论】:

  • 这两个端口之间的 LWP 没有区别。请出示您用于访问这两个网站的代码。
  • 您使用的是 HTTPS 吗?请出示您的代码。

标签: perl user-agent lwp


【解决方案1】:

这个示例程序(改编自 perldoc lwpcook)展示了如何连接不同的端口

它还允许关闭 SSL 验证,以防您有导致问题的自制证书

#!/usr/bin/perl
$port = $ARGV[1] || 443;
$host = $ARGV[0] || 'pause.perl.org';
$verify =$ARGV[2] || 0;
use LWP::UserAgent;
$ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => $verify});;

#$ua->agent("$0/0.1 " . $ua->agent);
$ua->agent("Mozilla/8.0");    # pretend we are very capable browser

$req = HTTP::Request->new( GET => "https://$host:$port" );
$req->header( 'Accept' => 'text/html' );

# send request
$res = $ua->request($req);

# check the outcome
if ( $res->is_success ) {
    print $res->decoded_content;
}
else {
    print "Error: " . $res->status_line . "\n";
}

【讨论】:

    最近更新 更多