質問

今週、Ruby Mechanize を使用して LinkedIn にログインするときに問題が発生しました。私のコードは次のとおりです:

agent = WWW::Mechanize.new
home_page = agent.get('http://www.linkedin.com')
sign_in_link = home_page.links.find{|link| link.text == "Sign In"}
login_form = sign_in_link.click.form('login')
# with email and password variables properly set
login_form.set_fields(:session_key => email, :session_password => password)
return_page = agent.submit(login_form, login_form.buttons.first)

先週は正常に動作しましたが、現在は失敗しています。return_page 変数には「リダイレクト中...」メッセージが表示されますが、同じエージェントを使用してフェッチすると、「http://www.linkedin.com/home' と表示されると、まるでサインインしたことがないかのようです (ただし、Cookie にはサインインしていないと表示されます)。誰かがこのエラーを再現してみませんか?

前もって感謝します。

役に立ちましたか?

解決

私たちのケースでは、コントローラー内でcurlを使用することに成功しました。これが私たちが行うことのスニペットです。ログインするためにcurl呼び出しを実行し、クッキーをjという名前のファイルに保存し、それを後続のすべてのリクエストに使用します。ハッキーではありますが、その間に。

 curl_login = `curl --cookie-jar j -so/dev/null -Fsession_login= -Fsession_rikey= -Fsession_key=#{contact} -Fsession_password=#{password} https://www.linkedin.com/secure/login?trk=hb_signin`

 curl_for_profile = `curl --cookie j "#{profile_url}"`

ご質問がございましたらお知らせください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top