使用WWW :: Mechanize将JSON消息发送到服务器

时间:2018-06-07 14:15:00

标签: json perl mechanize

我正在尝试使用HTTP PUT向服务器发送JSON消息但是收到错误消息:

  

错误PUTing https://www.example.com/records:./script.pl第190行无法处理的实体。

这条消息是什么意思?它来自Perl还是来自服务器(我假设是Perl,因为它给了我一个行号)。

这是脚本正在做的事情(在所有步骤中使用相同的机械化对象):

我正在使用CentOS 7.5以及今天安装的所有更新。

以下是最后两个步骤的摘录。

my $json_text;

# Some logic here to fill the string

print $json_text . "\n";
$mech->content_type( 'application/json' );
$mech->put ( $url, content => $json_text );

print语句输出:

{"record":{"webspace":false,"ttl":600,"filter_value":"test.com","abc_record_type":null,"formId":12345678,"standard_value":false,"area":"test.com","address":"12.12.12.12","id":12345678,"type":"A","sub_area":""},"area_lock_state":{"area_locked":false,"email_locked":false}}

我没有在JSON对象中看到任何错误。你有任何指针或如何使用Mechanize来放置这个对象吗?

1 个答案:

答案 0 :(得分:1)

httpstatuses.com 说这个

  

服务器了解请求实体的内容类型(因此 415 Unsupported Media Type 状态代码不合适),请求实体的语法正确(因此 400 Bad请求状态代码不合适但无法处理包含的说明。

因此服务器对JSON的语法感到满意,但语义无效。我可以从您提供的信息中说出这一切