You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至ActivePerl v5.26.3后LWP::Simple的HTTPS请求SSL问题

解决ActivePerl 5.26.3中LWP::Simple访问HTTPS站点的SSL内存池错误

刚遇到这个问题的时候我也头大,毕竟旧版本好好的,升级就出问题。结合你给出的错误信息(Free to wrong pool在IO::Socket::SSL的OCSP处理行),这基本是Net::SSLeay和IO::Socket::SSL版本不兼容,或者ActivePerl打包的OpenSSL库和模块之间的内存池冲突导致的。下面给你几个可行的解决办法:

1. 优先升级SSL相关模块

这是最根本的解决方式,旧版本的模块可能和ActivePerl 5.26.3的环境不匹配:

  • 用ActivePerl自带的ppm工具升级:
    ppm upgrade Net::SSLeay
    ppm upgrade IO::Socket::SSL
    
  • 如果ppm里的版本不够新,试试用cpanm安装(需要先确保你的ActivePerl配置了cpan环境):
    cpanm Net::SSLeay IO::Socket::SSL
    

2. 临时禁用OCSP检查(快速workaround)

LWP::Simple封装得太死,没法直接设置SSL选项,所以我们改用LWP::UserAgent手动配置,绕过OCSP stapling的问题:
替换你的测试代码为下面的版本:

#!c:/Perl64/bin/Perl.exe
# test perl scripts
use LWP::UserAgent;
use IO::Socket::SSL;

my $ua = LWP::UserAgent->new(
    ssl_opts => {
        OCSP_mode => IO::Socket::SSL::OCSP_NO_STAPLING(),
        verify_hostname => 1, # 别关这个,保证HTTPS的安全性
    }
);

# 访问BBC站点
my $url = "https://www.bbc.co.uk/sport/rugby-union";
my $response = $ua->get($url);
if ($response->is_success) {
    print "get successful - ", length($response->content), " bytes read\n";
} else {
    print "Error: ", $response->status_line, "\n";
}

# 访问Guardian站点
$url = "https://www.theguardian.com/cartoons/archive";
$response = $ua->get($url);
if ($response->is_success) {
    print "get successful - ", length($response->content), " bytes read\n";
} else {
    print "Error: ", $response->status_line, "\n";
}

这个方法能立刻解决当前的错误,但只是临时方案,还是建议升级模块。

3. 检查OpenSSL和模块版本兼容性

ActivePerl自带OpenSSL库,版本不匹配也会导致内存池问题。运行下面的代码查看版本信息:

use Net::SSLeay;
print "Net::SSLeay version: ", $Net::SSLeay::VERSION, "\n";
print "OpenSSL version: ", Net::SSLeay::SSLeay_version(0), "\n";

如果OpenSSL版本过旧(比如低于1.0.2),建议考虑升级到更近期的ActivePerl版本(比如5.32或更高),5.26.3已经是比较老的版本了,官方支持也有限。

4. 清理旧模块残留

有时候旧版本模块的缓存文件会干扰新模块,找到你的Perl库目录(比如C:/Perl64/lib),删除Net/SSLeay和IO/Socket/SSL相关的文件夹,然后重新安装模块。


内容的提问来源于stack exchange,提问作者Sam Nodes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:17:43