我正在尝试使用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来放置这个对象吗?
答案 0 :(得分:1)
httpstatuses.com
说这个
服务器了解请求实体的内容类型(因此 415 Unsupported Media Type 状态代码不合适),请求实体的语法正确(因此 400 Bad请求状态代码不合适但无法处理包含的说明。
因此服务器对JSON的语法感到满意,但语义无效。我可以从您提供的信息中说出这一切