gpt4 book ai didi

perl - 如何使用 Mojo::UserAgent 的 connect_timeout

转载 作者:行者123 更新时间:2023-12-04 16:07:06 24 4
gpt4 key购买 nike

Perl 新手在这里。我有一行代码:

my $api_data = decode_json( $ua->get($url)->res->body );

哪里 $ua = Mojo::UserAgent->new .有时,请求可能会挂起(无限期),我想指定连接超时。

documentation提供了一个例子,但我不确定如何将它正确地合并到我的陈述中。

我应该如何使用 connect_timeout在这种情况下?我知道 Mojo 指定了默认连接超时值 (10),但我宁愿在代码中明确指定它。

最佳答案

documentation显示 connect_timeout可以用作 getter 和 setter:

my $timeout = $ua->connect_timeout;    # getter
$ua = $ua->connect_timeout(5); # setter

setter 返回调用它的 Mojo::UserAgent 对象,以便它可以与其他方法链接。

所以你可以这样做:
my $ua = Mojo::UserAgent->new;

my $api_data = decode_json( $ua->connect_timeout(42)->get($url)->res->body );

但是你不需要链接方法,所以我推荐一个更易读的版本:
my $ua = Mojo::UserAgent->new;
$ua->connect_timeout(42);

my $api_data = decode_json( $ua->get($url)->res->body );

关于perl - 如何使用 Mojo::UserAgent 的 connect_timeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36296197/

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