昨日あたり(2011-9-30)から急にTwitter Streaming APIが不調になったがSSLでつなぐようにすればOK
スポンサードリンク
Twitter Streaming APIで遊んでいるのですけれども、昨日あたりから、ストリームが流れてこなくなったので、原因を調べたら、
Streaming API turning SSL only on September 29th | Twitter Developers [dev.twitter.com]
とあって、SSLで接続せいということなのでした。
今までのサンプルでは、AnyEvent::Twitter::Stream を使っていたのですが、これソースを読むとわかるのですが、
our $STREAMING_SERVER = 'stream.twitter.com';
our $USERSTREAM_SERVER = 'userstream.twitter.com';
our $PROTOCOL = $ENV{'ANYEVENT_TWITTER_STREAM_SSL'} ? 'https' : 'http';
our $US_PROTOCOL = 'https'; # for testing
...
my $uri;
if ($method eq 'userstream') {
$uri = URI->new("$US_PROTOCOL://$USERSTREAM_SERVER/2/user.json");
}else{
$uri = URI->new("$PROTOCOL://$STREAMING_SERVER/1/statuses/$method.json");
}
userstreamメソッドという自分のタイムラインのストリームを接続するときは前からSSL接続されていたのですけれども、サンプルで使っていたsampleメソッドというパブリックのストリームを間引きして取得する指定では、何もしなければSSL接続ではない普通のHTTP接続になっていました。
というわけで、
AnyEvent::Twitter::Stream - search.cpan.org
によると、環境変数ANYEVENT_TWITTER_STREAM_SSLに1をセットすれば、User Stream以外でもSSL接続が強制されるということで、bashでは、
$ export ANYEVENT_TWITTER_STREAM_SSL=1
こんな感じでOKとなりました。
SSLにした結果どれだけCPUが持っていかれるかはわかりませんけれども、そんな大層なことしていないので問題ないのかな。
スポンサードリンク
トラックバック(1)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3726
タイトルのとおり、ソース見ると一目瞭然な話で、 http://cpansearch.perl.org/src/MIYAGAWA/AnyEvent-Twitter-Stream-0.21/lib/AnyEvent/Twitter/Stream.pm our $STREAMING_SERVER = 'stream.twitter.com'; our $USERSTREAM_SERVER = 'userstream.twitter.com'; our $PROTOCOL = $ENV{'ANYEVENT_... 続きを読む





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)

コメントする