[#48875] MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない — Takahiro Yamaguchi <Takahiro.Yamaguchi@...>

9 messages 2012/08/08

[#48876] ツイートの文字コード変換について — konoki-nannoki-ggrks.mp4@...

こんにちは。

9 messages 2012/08/08

[#48895] rvmで、1.8.7と1.9.2の両方を使い分けたいのですが — Fumiaki Sakamoto <ua6ta6@...>

お世話になっております。

10 messages 2012/08/13

[ruby-list:48905] Re: MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない

From: Tomoyuki Chikanaga <nagachika00@...>
Date: 2012-08-16 17:15:36 UTC
List: ruby-list #48905
近永と申します。

> login時のemailあるいはユー
> ザー名には、"tako" が入力されている様なのですが、passwordがうまく渡らず、
この password がうまく渡っていないというのはどうしてそのように判断されたのですか?

Nドライブというサービスのアカウントを持っていないので実際に試せないのですが、
サンプルのコードをそのまま実行すると(当然 password は本物ではないですよね?)
ログインに失敗して再度ログインページが表示され、その時 email のフォームには
前のページで入力した値がデフォルト値として格納されていますが、password の
フォームは空の状態で表示されますので、もしかするとこれを見て password が
渡されていないと判断されたのではないでしょうか?

そうだとすると純粋に email と password が登録されているアカウントのものと
一致していないという可能性もあるのではないかと思います。

見当違いだったらすみません。

2012/8/8 Takahiro Yamaguchi <Takahiro.Yamaguchi@jp.sony.com>:
>
> 山口と申します。
>
> 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ドライブ <https://ssl.naver.jp/login?fromUrl=http%3A%2F%2Fndrive.naver.jp%2F>
>
> への自動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:
> #<div class="mdInputTxt03Inner mdInputTxt03UserName"><input type="text" class="mdInputTxt03Input hasPlaceholder" value="tako" id="_email" name="email" tabindex="1"></div>
> #<!--/MdInputTxt03--></div>
> #<div class="MdInputTxt03">
> #<div class="mdInputTxt03Inner mdInputTxt03Password"><input type="password" class="mdInputTxt03Input hasPlaceholder" value="" id="_passwd" name="password" maxlength="20" tabindex="2"></div>
>
> --
> Takahiro Yamaguchi
>

In This Thread