0

我正在尝试使用与以下类似的行检查 google aws 服务器的状态:

时间卷曲-k https://blablabla.azazonaws.com/ratingsvc

如果连接失败、超时等。我想给管理员发电子邮件。

我无法将错误代码放入变量中

4

2 回答 2

1

为了进一步控制 HTTP GET(返回码、分析消息内容等),我推荐使用LWP::UserAgent

use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my $response = $ua->get('https://blablabla.azazonaws.com/ratingsvc');

并且$responseHTTP::Response的一个实例,因此您可以完全控制 GET 响应。

于 2013-03-30T08:36:51.917 回答
1

您可以这样做以获取返回的退出代码:

use strict;
use warnings;

my $command = 'time curl -k https://blablabla.azazonaws.com/ratingsvc';

my $return_code = system($command);

if ($return_code == 0) {
    print "Everything went well...\n";
} else {
    print "Oops... curl exited with code $return_code\n";
}

这也会将 STDOUT 和 STDERR 从 curl 打印到屏幕上,但不会影响您的程序。如果您不想看到命令的输出,可以在末尾添加一些内容,例如 >/dev/null,您仍然会得到返回的退出代码。

高温高压

弗朗西斯科

于 2013-03-31T13:01:00.910 回答