繁体   English   中英

使用WWW :: Mechanize将JSON消息放入服务器

[英]Using WWW::Mechanize to PUT a JSON message to a server

我正在尝试使用HTTP PUT将JSON消息发送到服务器,但收到一条错误消息:

错误放置https://www.example.com/records:./script.pl第190行处的不可处理实体。

此消息是什么意思? 是来自Perl还是来自服务器(我假设使用Perl,因为它为我提供了行号)。

脚本正在执行以下操作(在所有步骤中使用相同的机械化对象):

  • 获取“ www.example.com”(确定)
  • 将凭证发送到登录表单(确定)
  • GET“ https://www.example.com/records ”(确定)
  • 解码收到的JSON(显示确定)
  • 创建一个名为$ json_text的新JSON字符串(显示确定)
  • 将$ json_text放入“ https://www.example.com/records ”(错误)

我使用的是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 );

打印语句输出:

{"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放置此对象?

httpstatuses.com说这

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

因此,服务器对JSON的语法感到满意,但语义无效。 根据您所提供的信息,我只能说这些

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM