首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pushover接口发送post时出现“参数无效”信息

Pushover接口发送post时出现“参数无效”信息
EN

Stack Overflow用户
提问于 2021-03-31 18:59:05
回答 1查看 50关注 0票数 1

我们目前正在使用pushover,当我们的监控在我们的系统中发现错误时,将消息发送到我们的Servicedesk。

我们的系统收集数据,创建一条消息,然后将所需的参数发送到perl脚本:

代码语言:javascript
复制
use LWP::UserAgent;
use Getopt::Std;

my %opts=();

my $curPath=$ENV{PATH};
$ENV{PATH} = $curPath.";Perl_Path";


getopts('t:u:m:p:', \%opts) or abort("No options given\n"); 

if (defined $opts{t}) {
  $APP_TOKEN=$opts{t};
}
if (defined $opts{u}) {
  $USER_KEY=$opts{u};
}
if (defined $opts{m}) {
  $MESSAGE=$opts{m};
}
if (defined $opts{p}) {
  $PRIO=$opts{p};
}

my $ua=LWP::UserAgent->new(timeout => 10);
my $response = $ua->post( 
  "https://api.pushover.net/1/messages.json", [
  "token" => "$APP_TOKEN",
  "user" => "$USER_KEY",
  "message" => "$MESSAGE",
  "priority" => "$PRIO"
]);

if ($response->is_success) {
    print $response->decoded_content;
}
else {
    die "HERE: ".$response->status_line;
}

这看起来工作得很好,直到昨天我们的服务人员注意到,不再发送任何消息。

通过使用虚拟消息执行脚本,我在脚本死后收到以下错误消息:

Here: 500 can't connect to api.pushover.net:443 <invalid argument>

我试着联系pushover,但他们并没有像我希望的那样有帮助。由于我们没有改变我们发送这些消息的方式,我认为这个问题是由一些pushover造成的。

有人知道为什么LWP::Useragent可能会发送“无效参数”消息吗?因为我似乎在网上找不到很多信息。我们确实为2个IP打开了防火墙,但将主机名替换为这些IP地址会出现以下错误:

Here: 500 can't connect to api.pushover.net:443 <Bad File Descriptor>

编辑:我们使用的是针对Windows的草莓perl安装

我诚恳地请教解决这个问题的方法。提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-31 21:03:42

似乎Pushover将他们的应用程序接口迁移到了不同的IP地址,以对抗对它的DDoS攻击。

由于我们的防火墙仅配置为允许流量到旧地址,因此我们的系统无法将消息发送到IP。

为什么LWP::Useragent将其标记为“无效参数”目前我无法理解,但手头的问题目前已经解决。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66886496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档