gpt4 book ai didi

openssl - Windows 机器上的 Raku 和 SSL 问题

转载 作者:行者123 更新时间:2023-12-04 12:02:42 25 4
gpt4 key购买 nike

我刚刚在 windows server 和 windows 7 上安装了 perl6。

我想将已经在 openbsd 上运行的脚本移植到 Windows 机器上。

我测试了这段代码:

my $resp = await Cro::HTTP::Client.get('https://www.perl6.org/');

我会在两台 Windows 机器上得到这个:
C:\Users\Matthias\CommaProjects\testing>perl6 cro.pl6
Tried to get the result of a broken Promise
in block at C:\rakudo\share\perl6\site\sources\0609EA0BB03C70C2C15DB4B144D704
1C1059D14C (Cro::TLS) line 108

Original exception:
An operation first awaited:
in block at C:\rakudo\share\perl6\site\sources\A4ECA701FE96A8456AEB83692D
6B3C55AAFC964C (IO::Socket::Async::SSL) line 322

Died with the exception:
Server certificate verification failed: unable to get local issuer certificate
in block at C:\rakudo\share\perl6\site\sources\A4ECA701FE96A8456AEB83
692D6B3C55AAFC964C (IO::Socket::Async::SSL) line 322

有人可以提示如何运行它吗?

编辑:我还用运行良好的 TLS 测试了 WWW:
use WWW;
say get 'https://httpbin.org/get?foo=42&bar=x', :SomeHeader<Value>;

最佳答案

看起来,cro 还没有完全实现对 windows 的支持。但根据 roadmap,它似乎计划在 future 的版本中发布。 .当与 Windows 一起使用时,至少有一个 cro 依赖项也有问题 IO::Path::ChildSecure .

作为目前的解决方法,您可以尝试使用 cacert.pem来自放置在当前工作目录中的 curl 项目以及您的代码:

use Cro::HTTP::Client;

#cacert.pem from https://curl.haxx.se/docs/caextract.html
constant %ca := { ca-file => 'cacert.pem' };
my $resp = await Cro::HTTP::Client.get('https://www.perl6.org/', :%ca);
say await $resp.body;

关于openssl - Windows 机器上的 Raku 和 SSL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58647713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com