続はてダラ
某Mくんにチャットで助けを借りて、hw.plのコードを書きかえてcygwin上のperlで実行してみる。なんとか動いたようだ。
変更したのは以下
- HTTPSで接続できるように、Net::SSLeayとCrypt::SSLeayをいれる
- ログイン先のURLを https://www.hatena.ne.jp/sslregister にする
- POSTの引数にmode=loginを追加する($form{mode} = "login")
- POSTの引数にautologin=1を追加する($form{autologin} = "1")。これはコンフィグで変更できるようにしないといけないかな。
- loginの中のリダイレクト判定のチェックをはずす。
ここまでやっても成功しなかったのだが、原因はconfigファイルから取得したユーザー名とパスワードに変な改行コードがくっついているせいだった。いままでは、exeを使っていたので行末がcr+lf,cygwinのperlは行末をlfだけとするので、crだけがそれぞれ残ってしまったようだ。rubyのchompなら大丈夫らしいのに。
面倒なので、ユーザー名とパスワードはコード中に書いてしまうことにした。
んー 問題ははてダラ猿との連携だな。どうしよ。