我想要做:
curl -X DELETE -d '{"name":"flowx"}' 'http://somewhere/wm/staticflowentrypusher/json'
Run Code Online (Sandbox Code Playgroud)
在 Perl 中:
my $browser = LWP::UserAgent->new;
my $url = 'http://somewhere/wm/staticflowentrypusher/json';
$browser->delete($url, '{"name":"flowx"}');
Run Code Online (Sandbox Code Playgroud)
但我得到:
Illegal field name '{"name":"flowx"}' at /home/user/perl5/lib/perl5/HTTP/Request/Common.pm line 115
Run Code Online (Sandbox Code Playgroud)
LWP::UserAgent::delete() 中的参数用于创建标头而不是内容。使用 HTTP:Request 来实现:
my $browser = LWP::UserAgent->new;
my $url = 'http://somewhere/wm/staticflowentrypusher/json';
my $req = HTTP::Request->new(DELETE => $url);
$req->content('{"name":"flowx"}');
my $response = $browser->request($req);
say $response->content;
Run Code Online (Sandbox Code Playgroud)