这个"问题"要求澄清答案: 如何使用LWP发出JSON POST请求?
我没有评论答案的声誉,并认为将我的问题作为答案发布是不合适的.
具体来说,我试图发布JSON数据(就像其他问题提问者一样)而不是键值对.
为什么这样做:
my $lwp = LWP::UserAgent->new;
my $req = HTTP::Request->new( 'POST', $uri );
$req->header( 'Content-Type' => 'application/json' );
$req->content( $json );
my $response = $lwp->request( $req );
Run Code Online (Sandbox Code Playgroud)
但这不是:
my $req= POST( $uri, $json); ### this works for key/value pairs
$req->header( 'Content-Type' => 'application/json' );
my $response = $lwp->request( $req);
Run Code Online (Sandbox Code Playgroud)
......这也不是:
my $response = $lwp->request(POST $uri, ['Content-Type' => 'application/json'], $json);
Run Code Online (Sandbox Code Playgroud)
我已经阅读了HTTP :: Request :: Common和LWP :: Useragent的手册,我想我只是看错了.
同样,第一个例子运作良好,但我真的想更好地理解这一点.
谢谢.