2

本周我在使用 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 显示不同)。有人可以尝试复制此错误吗?

提前致谢。

4

1 回答 1

1

在我们的例子中,我们成功地在控制器中使用 curl,这是我们所做的一个片段,我们进行 curl 调用以登录并将 cookie 存储在一个名为 j 的文件中,然后将其用于每个后续请求,hacky 但适用于与此同时。

 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}"`

如果您有任何问题,请告诉我

于 2010-03-29T22:52:48.453 回答