`
j2ee_zhongqi
  • 浏览: 209139 次
  • 性别: 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 环境打包拷贝到目前的环境上,然后脚本就正常工作了。哪位知道,也可以告诉我下!

分享到:
评论

相关推荐

    LWP-UserAgent-ProxyAny-1.02.tar.gz

    在Perl编程中,LWP::UserAgent是一个核心模块,它提供了与Web服务器交互的基本功能,如发送GET和POST请求、处理响应等。而"LWP::UserAgent::ProxyAny"扩展了这个模块,添加了对通过任意类型的代理服务器(如HTTP、...

    perl-XML-SAX-0.99-9.el7.noarch.rpm

    离线安装包,亲测可用

    perl-LWP-Protocol-https-6.04-4.el7.noarch.rpm

    离线安装包,亲测可用

    Artifactory-Client:Artifactory-Client 的只读发布历史

    ua => LWP::UserAgent -> new() # LWP::UserAgent-like object is pluggable. Default is LWP::UserAgent. }; my $client = Artifactory::Client -> new( $args ); my $path = ' /foo ' ; # path on artifactory

    解析xml流

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在互联网上交换...同时,掌握相关工具和编程语言的使用,如Perl中的LWP::UserAgent和XML解析模块,能帮助我们在实际工作中更高效地处理XML数据。

    CPAN文件Archive-Zip-1.30.tar和libwww-perl-6.04.tar

    5. **持久连接和cookie管理**:对于需要多次请求的场景,LWP::UserAgent支持持久连接和cookie管理,模拟浏览器的行为。 libwww-perl-6.04.tar同样是一个包含源码的tar文件,解压后通过适当的途径进行安装,就能在...

    perl and lwp

    它包括几个子模块,如LWP::UserAgent,可以创建一个模拟浏览器行为的用户代理,发送HTTP请求(GET、POST等)并接收服务器响应。LWP::Simple提供了一些简单的函数,如getstore(),用于快速下载网页内容。LWP::...

    用PERL LWP模块实现的一个在线字典脚本

    1. Perl的LWP模块及其主要组件,如LWP::UserAgent、HTTP::Request和HTTP::Response。 2. 如何在Perl中发起HTTP请求,包括GET和POST方法。 3. HTML解析的基本概念,以及如何结合HTML解析模块从网页中提取数据。 4. ...

    pcp-pmda-nginx-4.3.2-13.el7_9.x86_64.rpm

    官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装

    mbank-cli:mBank在线银行系统的命令行界面

    这是mbank-cli ,它是mBank在线银行系统的基本命令行界面。... LWP :: UserAgent(≥6) LWP ::协议:: https 净:: HTTPS Net :: SSLeay(≥1.43) Term :: ReadLine :: Gnu(可选:提示输入帐户密码)

    LWPx-ParanoidHandler

    名称LWPx::ParanoidHandler - LWP::UserAgent 的处理程序,可保护您免受伤害概要 use LWPx::ParanoidHandler;use LWP::UserAgent;my $ua = LWP::UserAgent->new();make_paranoid($ua);my $res = $ua->request(GET '...

    slack-integrations:与Slack消息传递服务集成的脚本

    需要模块HTTP :: Request :: Common,LWP :: UserAgent和JSON。 松弛颠覆 将提交消息从Subversion发布到Slack集成以进行Subversion。 Slack网站上的集成中指定了通知转到的渠道,因此可能为不同的回购定义了多个...

    perl网页中所有你想要的超链接收集其中数据

    my $ua = LWP::UserAgent->new; my $response = $ua->get('http://example.com'); my $content = $response->decoded_content; ``` 3. **HTML解析库** - HTML::TreeBuilder:这个模块将HTML源码转换为树形结构...

    RDF-Generator-HTTP:RDF-Generator-HTTP 的只读发布历史

    my $ua = LWP::UserAgent->new;my $response = $ua->get('http://search.cpan.org/');use RDF::Generator::HTTP;use RDF::Trine qw(iri);my $g = RDF::Generator::HTTP->new(message => $response, graph => iri('...

    OVH-Server-Availability:Perl脚本,用于在可以购买Kimsufi服务器时发出电子邮件警报

    安装PERL模块: sudo cpan LWP::UserAgent URI JSON Email::Send::SMTP::Gmail Config::General 以config.ini.example作为模板,创建文件config.ini并根据您的喜好更正配置 创建一个cron作业以定期向您发送邮件 ...

    perl特定网页内容

    8. **模块管理**:使用CPAN(Comprehensive Perl Archive Network)来安装和管理额外的Perl模块,比如上述的LWP::UserAgent和HTML::TreeBuilder。 9. **自动化**:通过编写脚本实现定时任务,定期抓取网页更新,这...

    APlaylistADay:使用Mojolicious构建的网络应用,每天都会根据历史音乐当天发生的事件生成带有歌曲的新播放列表

    播放列表 每天都会根据历史/音乐中发生的事件生成带有... cpanm Mojolicious Moose JSON LWP::UserAgent LWP::Protocol::https DateTime Date::Parse 克隆此项目: git clone https://github.com/Shemahmforash/AP

    perl统计网络流量的代码

    LWP::UserAgent模块允许我们创建一个用户代理,模拟浏览器发送GET或POST请求。 ```perl use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $response = $ua->get('http://router_ip/admin'); ``` 这里的`...

    Perl and LWP 高清版

    本章重点介绍了LWP模块的类结构,包括一些核心类如LWP::UserAgent、***等,以及它们的属性和方法。 第四章:URL。本章探讨了Uniform Resource Locators(统一资源定位符)的解析与构造,是网络编程中不可或缺的一...

    fusioninventory-agent:FusionInventory代理

    LWP :: UserAgent 网路:: IP 文字::范本 UNIVERSAL ::需要 XML :: TreePP 可选的Perl模块: Compress :: Zlib,用于消息压缩 HTTP :: Daemon,用于Web界面 IO :: Socket :: SSL,用于HTTPS支持 LWP

Global site tag (gtag.js) - Google Analytics