2010-03-25 8 views
2

Cette semaine, j'ai des problèmes pour me connecter à LinkedIn en utilisant ruby ​​mechanize. Mon code est le suivant:Problèmes de connexion à LinkedIn avec ruby ​​mechanize

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) 

La semaine dernière, il a travaillé sur OK, mais maintenant il est défaillant, la variable return_page affiche un message « redirigeant ... » mais quand j'utilise le même agent pour aller chercher « http://www.linkedin.com/home », il est aussi si je ne me suis jamais connecté (bien que les cookies montrent le contraire). Quelqu'un peut-il essayer de reproduire cette erreur?

Merci d'avance.

+0

Si vous surveillez la demande http que votre navigateur effectue, quels autres domaines sont envoyés? Essayez avec firebug, et mettez à jour la question. – Geo

+0

Tous les autres champs sont automatiquement définis, à l'exception de session_key et session_password. – thiagobrandam

+0

avez-vous résolu cela? Nous éprouvons le même problème. – MexicanHacker

Répondre

1

Dans notre cas, nous avons réussi à utiliser curl dans notre contrôleur, voici un extrait de ce que nous faisons, nous faisons un appel curl pour se connecter et stocker les cookies dans un fichier nommé j, puis l'utiliser pour chaque requête suivante, Hacky mais travaille en attendant.

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

Faites-moi savoir si vous avez une question

+0

Salut Oscar, merci! Je vais travailler un peu plus sur la mécanisation mais votre solution va m'aider en attendant;) – thiagobrandam

+0

Eh bien, j'ai réussi à modifier votre solution à utiliser avec mechanize, je viens d'ajouter votre fichier 'j' au ​​cookie jar (agent. cookie_jar.load ('j',: cookiestxt)) – thiagobrandam

+0

Cool, nous allons aussi essayer. – MexicanHacker