gpt4 book ai didi

Perl HTTP Tiny + Socket Socks Wrapper 超时不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:09:44 24 4
gpt4 key购买 nike

我正在使用 HTTP::Tiny + IO::Socket::Socks::Wrapper通过 SOCKS 代理发送 HTTP 请求。除了超时选项外,一切正常。当仅使用 IO::Socket::Socks 而不使用 HTTP::Tiny 时,超时有效。

没有 HTTP::Tiny 和不存在的代理来触发超时的示例:

my $t = time;
my $sock = IO::Socket::Socks->new(
ProxyAddr => '4.5.6.7',
ProxyPort => 1080,
ConnectAddr => 'www.google.com',
ConnectPort => 80,
Timeout => 3
) or print "connection failed or timed out\n";

print "time: " . (time - $t) . "\n";

输出:

connection failed or timed out
time: 3.00517201423645

HTTP::Tiny 示例:

my $t = time;
my $http = wrap_connection(
HTTP::Tiny->new(timeout => 3), {
ProxyAddr => '4.5.6.7',
ProxyPort => 1080,
Timeout => 3
}
);
my $r = $http->get("http://www.google.com");
print "connection failed or timed out\n" unless $r->{success};
print "time: " . (time - $t) . "\n";

输出:

connection failed or timed out
time: 21.0282030105591

为什么第二个例子3秒后没有超时?

最佳答案

这是一个错误,现在似乎已修复。新版本将很快上传到 CPAN。现在您可以从 github 存储库获得固定版本。

关于Perl HTTP Tiny + Socket Socks Wrapper 超时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20168922/

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