我无法通过以下Mojo::UserAgent
调用将JSON发布到服务器:
use Mojo::UserAgent;
my $ua=Mojo::UserAgent->new;
my $json = $ua->post("localhost:6767" => {} => json =>{ val=>10 })->res->json;
在nc -l 6767
的另一端使用伪调试服务器提供以下输出:
POST / HTTP/1.1
User-Agent: Mojolicious (Perl)
Connection: keep-alive
Content-Length: 0
Host: localhost:6767
这不仅仅是json
方法,form
,整个Transactor似乎在我的两台机器上被打破了。来自文档:
perl -MMojo::UserAgent::Transactor -E 'say Mojo::UserAgent::Transactor->new->tx(PUT => "http://kraih.com" => json => {a => "b"})->req->to_string;'
PUT / HTTP/1.1
Content-Length: 4
Host: kraih.com
json
很难相信我的眼睛。我错过了什么?
答案 0 :(得分:5)
你的所有盒子都使用Mojolicious 3.85或更高? UA form
/ json
生成器非常新,仅从3.85 or 2013-02-13开始。
此外,你可能会尝试删除空的hashref(这将是额外的标题),除非有一些理由将其存在。