Cookieの設定の仕方
webで運用されている勤怠管理のシステムから
任意の月の勤怠一覧を取得するスクリプトをRubyで書いてみる。
Mechanizeで、システムにログインするまでは簡単に出来たんだけど
Cookieを設定するところでつまずいた。
MechanizeではJavaScriptを理解できないってことだから
JavaScriptでCookieを設定しているところは
自前で設定してやんなきゃいけないんだよね。
ググってみたけど、これだ!っていう情報が無かったので
リファレンスMechanize, Hpricotを参考に
トライ&エラーでなんとかCookieを設定することが出来た。
#cookieのセット uri = URI.parse('http://xxx.yyy.co.jp/aaa/bbb/ccc') cookie = WWW::Mechanize::Cookie.new('SHAIN_NO','nnnnnnnnnn') cookie.domain = 'xxx.yyy.co.jp' agent.cookie_jar.add(uri,cookie) #年月を指定して一覧の取得 doc = Hpricot(open( "http://xxx.yyy.co.jp/aaa/bbb/一覧?社員番号=nnnnnnnnnn&フラグ1=0&年月=2007%2F10&フラグ2=0").read)
Ruby始めたばっかりでこれがエレガントなのかどうかさっぱり分からない。
もっとエレガントな方法があるなら教えていただきたい物です。