0

我尝试使用 Perl 和 Net::Twitter 向 twitter 1.1 搜索 API 提交搜索。当搜索字符串没有扩展字符时一切正常,但如果我使用非拉丁字符,我会得到 401。

对值调用 url_encode_utf8 会导致双重编码。在它上面调用 encode('utf8','...') 会给我一个 401。

任何人都可以帮忙吗?

这是我的测试用例:

#!/usr/bin/perl

use strict;
use warnings;

use Net::Twitter;
use Encode;

my $nt = Net::Twitter->new(
        traits => [qw/API::RESTv1_1/],
        consumer_key => '...',
        consumer_secret => '...',
        access_token => '...',
        access_token_secret => '...',

);

die "unauthorized" unless $nt->authorized;

my $q = 'ﺝﺎﻤﻋﺓ ﺎﻠﻤﻠﻛ ﺲﻋﻭﺩ';


eval{
        my $r = $nt->search({q => $q});
        use Data::Dumper;
        print Dumper $r;
};
if ($@)
{
        print STDERR $@, "\n";
}
4

0 回答 0