这个“问题”要求澄清这里的答案: 如何使用 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 );
但这不会:
my $req= POST( $uri, $json); ### this works for key/value pairs
$req->header( 'Content-Type' => 'application/json' );
my $response = $lwp->request( $req);
...这也不是:
my $response = $lwp->request(POST $uri, ['Content-Type' => 'application/json'], $json);
我已经阅读了 HTTP::Request::Common 和 LWP::Useragent 的手册,我认为我只是在看错误的东西。
同样,第一个示例运行良好,但我真的很想更好地理解这一点。
谢谢。