この内容は自分のようなStreaming API?^q^やSSL?’q`な方に向けて書いていきます。
まず大まかな流れ。
1.SSLソケットを作る
2.BASIC認証用のキーを作成する
3.キーを使いリクエストヘッダを作成し送信する
4.データをもらう
これだけ。
Javaで書くとソースコードはこんな感じ。
import java.io.*;
import java.net.*;
import javax.net.ssl.*;
import sun.misc.BASE64Encoder;class test{
public static void main(String[] args) throws Exception {
//SSLSocketを作成
Socket s = HttpsURLConnection.getDefaultSSLSocketFactory().createSocket(“stream.twitter.com”,443);//入出力用
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream());//filterの場合、track=検索キーワードでキーワード検索の結果をリアルタイムで取得できる。
out.println(“GET /1/statuses/filter.json?track=axe1lyze HTTP/1.1”);//認証キーの作成 ユーザーID:パスワード をBASE64で暗号化
String key = new String((new BASE64Encoder()).encodeBuffer(“UserID:Password”.getBytes()));
out.println(“Authorization:Basic “+key);//フラッシュしてデータを送信
out.flush();//これでデータを取得し続ける
String line;
while((line=in.readLine())!=null){System.out.println(line);}
}
}
取得形式はJSONだけなのかな?XMLもいけるとありがたいんだけども。
BASIC認証が使えるみたい。これはStreaming APIだけかな?
ツイートの投稿もこんな流れでできると幸せになれるんだけどなぁ。
自分が知らないだけでしたら申し訳ありません。