我正在嘗試決議 curl api
但我收到此錯誤 401 Unauthorized
我不知道問題出在哪里。
因為認證細節沒問題
這是卷曲
curl 'https://api.twilio.com/2010-04-01/Accounts/SID/Messages.json' \
-X POST \
--data-urlencode 'To=whatsapp: 123456789' \
--data-urlencode 'From=whatsapp: 1234567890' \
--data-urlencode 'Body=Your Yummy Cupcakes Company order of 1 dozen frosted cupcakes has shipped and should be delivered on July 10, 2019. Details: http://www.yummycupcakes.com/' \
-u SID:[AuthToken]
#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Tiny;
use JSON;
use Data::Dumper;
my $url = "https://api.twilio.com/2010-04-01/Accounts/SID/Messages.json";
my $json = encode_json {
To => 'whatsapp: 256775562361',
From => 'whatsapp: 14155238886',
Body => 'new test msg',
};
my $http = HTTP::Tiny->new(
default_headers => {
Authorization => 'SID:TOKEN',
}
);
my $response = $http->post( $url => {
content => $json,
headers => { 'Content-Type' => 'application/json' },
});
if ( $response->{'is_success'} ) {
print Dumper( decode_json $response->{'content'} );
} else {
print "$response->{'status'} $response->{'reason'}\n";
}
uj5u.com熱心網友回復:
“授權”標頭的格式不是<user>:<pass>- 它是<auth-scheme> <authorization-parameters>. curl正在為您執行此操作,但為此基本上是:
Authorization: Basic <mime-encoded "<user>:<pass>">
我為此使用URI模塊:
my $uri = URI->new("https://api.twilio.com/...");
$uri->userinfo("$sid:$auth");
$http->post( $uri => ... );
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/450434.html
標籤:perl
