2010-03-25 2 views
2

на этой неделе У меня проблемы с входом в LinkedIn с использованием рубинового механизации. Мой код выглядит следующим образом:Проблемы регистрации в 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 показывает иначе). Может ли кто-нибудь попытаться дублировать эту ошибку?

Заранее спасибо.

+0

Если монитор запрос HTTP, что ваш браузер выполняет то, что другие поля будут посланы? Попробуйте с firebug и обновите вопрос. – Geo

+0

все остальные поля автоматически устанавливаются за исключением session_key и session_password. – thiagobrandam

+0

Вы решили это? Мы сталкиваемся с той же проблемой. – MexicanHacker

ответ

1

В нашем случае мы преуспели, используя curl внутри нашего контроллера, вот фрагмент того, что мы делаем, мы выполняем вызов curl для входа в систему и хранения файлов cookie в файле с именем 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}"` 

Позвольте мне знать, если у вас есть какие-либо вопросы

+0

Привет, Оскар, спасибо! Я собираюсь немного поработать над механизацией, но ваше решение поможет мне в то же время;) – thiagobrandam

+0

Ну, мне удалось изменить ваше решение для использования с mechanize, я просто добавляю ваш файл «j» в кувшин cookie (agent. cookie_jar.load ('j',: cookiestxt)) – thiagobrandam

+0

Прохладный, мы также попробуем. – MexicanHacker

Смежные вопросы