perl 需要访问https,脚本如下,目前环境是perl 5.8.8,aix 6.1,Crypt::SSLeay 是0.58,OpenSSL 是0.9.8:
##!/bin/sh
# Source needed files
exec /opt/freeware/bin/perl5.8.8 -x $0 $@
#!perl
#line 9
use strict;
use LWP;
use URI::Escape;
use ExtUtils::Installed;
use LWP::Debug qw(+);
# Credentials to access bluegroups
my $bg_owner = 'xxx';
my $bg_password = 'xxx';
my $bluegroup='xxx';
my $cnum='xxx';
my $bgbrowser = LWP::UserAgent->new;
$bgbrowser->agent('Mozilla/4.0');
$bgbrowser->credentials( 'bluepages.ibm.com:443',
'w3',
"$bg_owner",
"$bg_password");
my $response = $bgbrowser->get("https://bluepages.ibm.com/xxxxxx");
while ( my ($key,$value) = each %$response ) {
print "$key => $value\n";
}
运行之后首次得到下面的错误:
_content =>
_rc => 501
_headers => HTTP::Headers=HASH(0x303cd26c)
_msg => Protocol scheme 'https' is not supported
_request => HTTP::Request=HASH(0x301fef18)
根据错误提示缺少必要的支持https的perl module Crypt::SSLeay,因此用cpan去安装,切忌如果出现Which SSL install path do you want to use? [/usr]的提示,一定要enter,不要输入yes。当安装到make test的时候发生了如下错误:
ssl OpenSSL 0.9.8k in /usr;
# lib -L/usr/lib -lssl -lcrypto -lgcc
# inc -I/usr/include
# cc gcc -maix32
# Failed test 'HEAD https://rt.cpan.org/'
# at t/02-live.t line 120.
# HTTP status = 500 read failed:
t/02-live.......NOK 4/4# This may not be the fault of the module, https://rt.cpan.org/ may be down
# Looks like you failed 1 test of 4.
t/02-live.......dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 4
Failed 1/4 tests, 75.00% okay (less 1 skipped test: 2 okay, 50.00%)
Failed Test Stat Wstat Total Fail List of Failed
-------------------------------------------------------------------------------
t/02-live.t 1 256 4 1 4
这个错误是告诉http 返回500内部错误,测试失败。接下来我如何做都没有找到方法,但是我可以肯定是perl module的问题,但是不确定具体是那个模块。所以最后找了一个workaround的方法,就是把我另外一台机器上完好的perl 环境打包拷贝到目前的环境上,然后脚本就正常工作了。哪位知道,也可以告诉我下!
分享到:
相关推荐
`Crypt::SSLeay`和`IO::SSL`模块提供了对SSL/TLS的支持,用于加密通信。同时,对输入数据的验证和过滤,防止SQL注入、跨站脚本攻击等,是网络安全的重要方面。 八、调试和错误处理 在开发过程中,使用`Data::Dumper...
Perl提供了如`Crypt::SSLeay`和`IO::Socket::SSL`等模块,支持SSL/TLS加密,确保数据在传输过程中的安全性。 8. **Web服务和API**:Perl可以方便地与RESTful API交互,使用`JSON`和`XML::Simple`模块解析和生成JSON...
Perl中的`LWP::UserAgent`模块可以用来处理HTTPS请求,而`Crypt::SSLeay`或`IO::Socket::SSL`模块则用于加密通信。 4. **RESTful API设计**:`dns-api.org`提供的可能是RESTful API,这是一种常见的Web服务设计模式...
- **Crypt::SSLeay**: SSL 支持。 - **LWP::UserAgent**: HTTP 客户端。 - **Text::Wrap**: 文本处理。 - **GD**: 图像处理。 以上步骤涵盖了在 Windows 环境下安装 Bugzilla 的完整流程,从安装环境准备到最终...
- `LWP::UserAgent` - `SOAP::Lite` - `Crypt::SSLeay` 3. **Java Development Kit (JDK) 的安装**: - 选择JDK版本1.4.2或1.5进行安装,1.6版本可能会出现问题。 4. **Apache Ant的安装**: - 下载并解压`...