我无法获得以下内容 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
很难相信我的眼睛。我错过了什么?
最佳答案
您所有的盒子都使用 Mojolicious 3.85 或更高版本吗? UA form
/json
发电机很新,只有 3.85 or 2013-02-13 .
您也可以尝试删除空的 hashref(这将用于额外的 header ),除非有某种理由将它放在那里。
关于perl - 无法在 Mojo::UserAgent 请求中发布 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15415058/