相当于 Perl 示例 JavaScript 代码
Perl equivalent of a sample JavaScript codes
我有这个代码:
request({
uri: 'https://graph.facebook.com/v2.6/me/messages',
qs: { access_token: PAGE_ACCESS_TOKEN },
method: 'POST',
json: messageData
})
我想将其转换为 Perl,目前我拥有的是:
my $req = HTTP::Request->new( 'POST', 'https://graph.facebook.com/v2.6/me/messages');
$req->header( 'Content-Type' => 'application/json' );
$req->content( $messageData );
我不确定如何将以下行合并到我的 Perl 代码中:
qs: { access_token: PAGE_ACCESS_TOKEN },
它指定要添加到 URL 的查询参数。
我试图搜索网络,但大多数示例要么发送 json 内容,要么发送查询字符串,但不能同时发送两者。如果我对 JavaScript 代码的解释是正确的,我需要可以发送两者的东西。
在此先感谢任何指导我的人。
您可以使用 URI module (possibly supplemented by the 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,
);
我有这个代码:
request({
uri: 'https://graph.facebook.com/v2.6/me/messages',
qs: { access_token: PAGE_ACCESS_TOKEN },
method: 'POST',
json: messageData
})
我想将其转换为 Perl,目前我拥有的是:
my $req = HTTP::Request->new( 'POST', 'https://graph.facebook.com/v2.6/me/messages');
$req->header( 'Content-Type' => 'application/json' );
$req->content( $messageData );
我不确定如何将以下行合并到我的 Perl 代码中:
qs: { access_token: PAGE_ACCESS_TOKEN },
它指定要添加到 URL 的查询参数。
我试图搜索网络,但大多数示例要么发送 json 内容,要么发送查询字符串,但不能同时发送两者。如果我对 JavaScript 代码的解释是正确的,我需要可以发送两者的东西。
在此先感谢任何指导我的人。
您可以使用 URI module (possibly supplemented by the 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,
);