以前に試したときにはどういうわけだかうまくいかなかってけど,今度はうまくいったので(ちょっとはまったけど),メモ。
はてなダイアリーライター本体はここから(Version 1.4.1)。マニュアルもここ。
まずは試してみる。テスト用の日記ファイルを作って,設定ファイルはなしでやってみたらすんなり成功。ちょっと拍子抜け。
^o^ >perl hw.pl WARNING: Crypt::SSLeay is not found, use non-encrypted HTTP mode. Username: takatoh Password: ******** Login to http://www.hatena.ne.jp/login as takatoh. Login OK. Post 2007-07-08. Post OK. Logout from http://d.hatena.ne.jp as takatoh. Logout OK.
けどちょっと待て。Cyrpt::SSLeayが無いから暗号化しないモードを使うといってる。
……それで思い出した。以前うまくいかなかったのはこのあたりだった。
というわけで,このへんのページを参考に改めてチャレンジ。
まずはOpenSSLから。上のリストの2番目のページからインストーラ(最新版 Win32OpenSSL v0.9.8e)をダウンロードしてインストールするだけ。
Crypt::SSLeay のほうは上のリストの3番目のページにある「LWPで、「https://」で始まるSSL使用サイトにアクセスできますか?」を参考にした。ppmコマンドでインストールするんだけど,モジュール名ではなくPPDファイル名を指定する必要があるらしい(GUI版ppmのリストに出てこない)。ActivePerl 5.8.8 を使っているので:
^o^ >ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
後半,dllをインストールするか聞いてくるので yes と答えてインストールする。デフォルトが[no]になってるので注意。
さて,改めて試してみよう。ついでに設定ファイルも書いておく。
id:takatoh password:******** cookie:cookie.txt proxy:http://proxy:8080/ client_encoding:Shift_JIS server_encoding:EUC_JP
これでOKのはず。
^o^ >perl hw.pl Login to https://www.hatena.ne.jp/login as takatoh. Login OK. Post 2007-07-08. Old cookie. Retry login. Login to https://www.hatena.ne.jp/login as takatoh. Login OK. Old cookie. Retry login. Login to https://www.hatena.ne.jp/login as takatoh. Login OK. ERROR: try_it: Check username/password.
なんでエラーになるんだ!!……orz
えーと。いろいろ試した結果何とか動くようになった。これについてはエントリーを改めて書く。
さきに書いておくと,インストールや設定ファイルは上の通りで大丈夫(たぶん)。問題はcookie.txtだった。--(つづく)