Sop*_*hia 2 javascript perl http-request
我有这个代码:
request({
uri: 'https://graph.facebook.com/v2.6/me/messages',
qs: { access_token: PAGE_ACCESS_TOKEN },
method: 'POST',
json: messageData
})
Run Code Online (Sandbox Code Playgroud)
我想把它转换成Perl,到目前为止我是:
my $req = HTTP::Request->new( 'POST', 'https://graph.facebook.com/v2.6/me/messages');
$req->header( 'Content-Type' => 'application/json' );
$req->content( $messageData );
Run Code Online (Sandbox Code Playgroud)
我不知道如何将以下行合并到我的Perl代码中:
qs: { access_token: PAGE_ACCESS_TOKEN },
Run Code Online (Sandbox Code Playgroud)
它指定要添加到URL的查询参数.
我试图搜索网络,但大多数示例要么发送json内容或查询字符串,而不是两者.如果我对JavaScript代码的解释是正确的,我需要能够发送两者的东西.
提前感谢任何指导我的人.
您可以使用URI模块(可能由URI :: QueryParam模块补充)来构建(和操作)URL.
use HTTP::Request::Common qw( POST );
use JSON::XS qw( encode_json );
use URI qw( );
my $message_data = encode_json(...);
my $url = URI->new('https://graph.facebook.com/v2.6/me/messages');
$url->query_form( access_token => PAGE_ACCESS_TOKEN );
my $req = POST($url,
Content_Type => 'application/json',
Content => $message_data,
);
Run Code Online (Sandbox Code Playgroud)