エコーにrubyでやっほー。
mixiでいかにもtwitterの様な機能が追加されたみたいですね。
でもついったー使ってるし、いちいちmixiとついったーの両方に「今何してる?」って聞かれ続けるのもめんどくさいので両方に一気に答えられる様なのが欲しいと思ってとりあえず、rubyからエコーに投稿できるのを作ろうと試行錯誤してるうちにできたもの。あ、とても使えるものではないですよ。
始めに断っておかなければいけない事は、日本語が送れない〜って事です。アルファベットしか送れないんです。
いろいろと問題はこれから直すとして、取り合えずコードを。。
# -*- coding: utf-8 -*- require 'net/http' Net::HTTP.version_1_2 # おまじない <= おまじないってなんだ〜 Net::HTTP.start('mixi.jp', 80) { |http| #認証 response = http.post('/login.pl', 'next_url=/home.pl&email=xxxxxxxxxx@xxxx&password=xxxxxxxxxxx') cookie = response['set-cookie'] # エコーを送信 http.post('/add_echo.pl', 'body=test&post_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', {'Cookie' => cookie}) # エコーを取得 response = http.get('/recent_echo.pl', {'Cookie' => cookie}) puts response.body }
エコーを送信の所のbodyが本文です。
後ろのpost_keyってのは何なんでしょうかね。keyってあるから、やっぱり鍵なんでしょうね。値は伏せてありますが、32桁の16進数かと思われます。何かをMD5変換でもしてあるんでしょうか?自分のアカウントのしか見てないので何とも言えませんが、ユーザごとに決まった値なのではないかと思います。何回か送信を行ってみても、この値は変更されませんでした。
見てお分かりだと思いますが、mixi.jpに3回リクエストを送ってるだけのプログラムです。どこもrubyらしくありません。
次は、日本語を遅れるようにして、ついったーの方もいじってみようかと思います。