M.C.P.C.

―むり・くり―プラスコミュニケーション


| トップページ |

2011.10.01

昨日あたり(2011-9-30)から急にTwitter Streaming APIが不調になったがSSLでつなぐようにすればOK

このエントリーをはてなブックマークに追加 mixiチェック

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が持っていかれるかはわかりませんけれども、そんな大層なことしていないので問題ないのかな。

[Web] | |

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/52880558

この記事へのトラックバック一覧です: 昨日あたり(2011-9-30)から急にTwitter Streaming APIが不調になったがSSLでつなぐようにすればOK:

» Twitter Streaming APIのSSL接続強制後にでたAnyEvent::Twitter::Stream 0.22ならANYEVENT_TWITTER_STREAM_SSL=1は必要ない from M.C.P.C.
タイトルのとおり、ソース見ると一目瞭然な話で、 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_... 続きを読む

受信: 2011/10/07 23:22:47

コメント

コメントを書く