【发布时间】:2022-10-03 07:57:25
【问题描述】:
我们有一个高级 Perl 程序,它使用正确的高级参数(例如主机、路径、端口和特定数据字段)调用 Net::SSLeay->get_https()。它工作得很好。直到目标网站决定也要求传递 SNI。
Steffen Ullrich 在这里做了一个有用的评论:perl - Net::SSLeay and Server Name Indications 所以现在我们知道 Net::SSLeay->get_https() 不能传递 SNI。
我看过 IO::Socket::SSL、Net::SSL、LWP 和相关例程,我看到的都是低级函数。我们真正想要的是另一个我们可以调用的高级模块,它将传递 SNI。我们可以修改我们传递这个高级模块的参数,所以它不必完全替代 Net::SSLeay->get_https()。但是我们没有专业知识来了解 HTTPS 的详细信息。
我们应该尝试哪些 Perl 模块?
-
你不能使用任何 HTTP 库吗?任何足够高级的东西都应该正确处理 SNI。
LWP::Curl也许? -
“我看过……,LWP……”- LWP 已经非常高级了,里面有 LWP::Simple 使它更加高级。不确定你的期望。 SNI 将自动使用,无需显式执行。如果这还不够,请说明您的确切要求。