`
j2ee_zhongqi
  • 浏览: 212716 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

LWP::UserAgent 和Crypt::SSLeay 访问HTTPS

阅读更多
  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 环境打包拷贝到目前的环境上,然后脚本就正常工作了。哪位知道,也可以告诉我下!

分享到:
评论

相关推荐

    Network_Programming_With_Perl

    `Crypt::SSLeay`和`IO::SSL`模块提供了对SSL/TLS的支持,用于加密通信。同时,对输入数据的验证和过滤,防止SQL注入、跨站脚本攻击等,是网络安全的重要方面。 八、调试和错误处理 在开发过程中,使用`Data::Dumper...

    网络编程基础篇系列-perl

    Perl提供了如`Crypt::SSLeay`和`IO::Socket::SSL`等模块,支持SSL/TLS加密,确保数据在传输过程中的安全性。 8. **Web服务和API**:Perl可以方便地与RESTful API交互,使用`JSON`和`XML::Simple`模块解析和生成JSON...

    dns-api.org:以前在https:dns-api.org使用的代码

    Perl中的`LWP::UserAgent`模块可以用来处理HTTPS请求,而`Crypt::SSLeay`或`IO::Socket::SSL`模块则用于加密通信。 4. **RESTful API设计**:`dns-api.org`提供的可能是RESTful API,这是一种常见的Web服务设计模式...

    bugzilla安装手册

    - **Crypt::SSLeay**: SSL 支持。 - **LWP::UserAgent**: HTTP 客户端。 - **Text::Wrap**: 文本处理。 - **GD**: 图像处理。 以上步骤涵盖了在 Windows 环境下安装 Bugzilla 的完整流程,从安装环境准备到最终...

    OpenOffice 3.0编译环境搭建记录.doc

    - `LWP::UserAgent` - `SOAP::Lite` - `Crypt::SSLeay` 3. **Java Development Kit (JDK) 的安装**: - 选择JDK版本1.4.2或1.5进行安装,1.6版本可能会出现问题。 4. **Apache Ant的安装**: - 下载并解压`...

Global site tag (gtag.js) - Google Analytics