From: Tomoyuki Chikanaga Date: 2012-08-17T02:15:36+09:00 Subject: [ruby-list:48905] Re: MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない 近永と申します。 > login時のemailあるいはユー > ザー名には、"tako" が入力されている様なのですが、passwordがうまく渡らず、 この password がうまく渡っていないというのはどうしてそのように判断されたのですか? Nドライブというサービスのアカウントを持っていないので実際に試せないのですが、 サンプルのコードをそのまま実行すると(当然 password は本物ではないですよね?) ログインに失敗して再度ログインページが表示され、その時 email のフォームには 前のページで入力した値がデフォルト値として格納されていますが、password の フォームは空の状態で表示されますので、もしかするとこれを見て password が 渡されていないと判断されたのではないでしょうか? そうだとすると純粋に email と password が登録されているアカウントのものと 一致していないという可能性もあるのではないかと思います。 見当違いだったらすみません。 2012/8/8 Takahiro Yamaguchi : > > 山口と申します。 > > yama@roswell:~/tmp$ uname -a > Linux roswell 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 i386 GNU/Linux > yama@roswell:~/tmp$ ruby --version > ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux] > > mechanize v2.5.1-9 > > の環境で、 > > NAVER提供のNドライブ > > への自動loginのスクリプトを作成したのですが、login時のemailあるいはユー > ザー名には、"tako" が入力されている様なのですが、passwordがうまく渡らず、 > 自動login出来ないので、どこが悪いのかご教示いただけないでしょうか? > > yama@roswell:~/tmp$ cat ndrive.rb > #! /usr/bin/ruby > > # reference http://q.hatena.ne.jp/1213335523#a834923 > > require 'rubygems' > require 'mechanize' > > agent = Mechanize.new > > # NAVER URL > page = agent.get('https://ssl.naver.jp/login?fromUrl=http%3A%2F%2Fndrive.naver.jp%2F') > > # print form > form = page.forms.first > > #form.fields.each { |f| puts f.name } > # this puts out as follows: > #rsaKeyName > #fromUrl > #encryptedLoginParam > #enc > #email > #password > > # set for login authentication > form['email'] = "tako" > form['password'] = "xxxx" > > # submit > form.submit > > #puts page.body > puts agent.page.body > > # this puts out as follows: > #
> # > #
> #
> > -- > Takahiro Yamaguchi >