昨日あたり(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_... 続きを読む
コメントする