2

私は次のPerlスクリプトを持っています:

use strict;
use XML::RPC;
use Digest::MD5 qw(md5_hex);
use 5.010;

my ($username, $password)  = qw(foo bar);
my $xmlrpc = XML::RPC->new('http://www.livejournal.com/interface/xmlrpc', (output_encoding => 'UTF-8' ));
my $result = $xmlrpc->call( 'LJ.XMLRPC.getevents', { username => $username, hpassword => md5_hex($password), selecttype => "syncitems"} );

ただし、サーバーは207エラーで応答します。クライアントエラー:プロトコルバージョンの不一致:非UnicodeクライアントでUnicode投稿を表示/編集できません。詳細については、 http://www.livejournal.com/support/encodings.bmlを参照してください。

API仕様によると、LJはUTF-8で動作するはずです。だから私は何が間違っているのか分かりません。

4

1 に答える 1

3

わかりました、解決しました。問題は、データに非 ASCII シンボルが含まれている場合にデフォルトで0に設定され、 1が割り当てられる必要があるオプションのパラメーターverを指定しなかったことです (そのため、そもそも気付かなかったのはそのためです) 。

于 2013-01-10T13:46:01.270 に答える