2011-09-07 2 views
3

fixe, httplin2 ne peut pas gérer plus d'un cookie, le patch peut être trouvé ici: http://code.google.com/p/httplib2/issues/detail?id=146Python 3 cookies httplib2

Je suis codage d'un script de connexion facebook pour obtenir mes dernières notifications, mais je suis avoir un problème. Je suis passé de urllib à httplib2 parce que le me semblait plus facile et plus rapide. En utilisant qu'urllib j'ai pu obtenir le biscuit correct et de l'utiliser à chaque fois que je devais récupérer les notifications, maintenant je suis en utilisant l'exemple de la page httplib:

user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; 

rv: 1.9.2.8) Gecko/20100722 Firefox/3.6.8 ' headers = {' Utilisateur-Agent ': user_agent,' Type de contenu ': ' application/x-www-form-urlencoded ',' Accepter ': ' text/html, application/xhtml + xml, application/xml; q = 0.9, /; q = 0.8 ', ' Connexion ':' keep-alive ',' Accepter-Encoding ':' gzip, deflate ', ' Referer ' : 'http://m.facebook.com/'} data = {'email': 'myusername', 'pass': 'mypassword', 'post_form_id': '', 'charset_test': '', 'version': 1, 'ajax': 1, 'pxr ': 1,' gps ': 1,' login ':' Entrar '} réponse, content = h.request ("http://www.facebook.com/login.php?m=m & refsrc = http : //m.facebook.com/ & refid = 0" , "POST", urllib.parse.urlencode (données), en-têtes = en-têtes)

Et c'est l'en-tête que je reçois:

{'status': '200', 'x-cnection': 'close', 'content-location': 

'http://m.facebook.com/home.php?refsrc=http%3A%2F%2Fm.f acebook.com% 2F & refid = 0 & m_sess = & *** tAm60 _rdr ' 'Transfer-Encoding': 'fragmenté', 'set-cookie': ' DATR = * **** * F-OQsTCnbw0Caa; expire = ven, 06-Sep-2013 20:33:26 GMT; chemin = /; domaine = .facebook.com; httponly ',' expires ':' Sat, 01 Jan 2000 00:00:00 GMT ',' x-fb-server ': '10 .62.188.41', 'contenu-longueur': '26702', '-contenu -codage ':' gzip ',' pragma ':' no-cache ', ' cache-control ':' privé, pas de cache, pas de magasin, doit-revalider ', ' date ':' mer, 07 Sep 2011 20:33:27 GMT ',' p3p ':' CP = " n'a pas de politique P3P. charset = utf-8 ',' x-frame-options ':' DENY '}

Si je n'utilise pas l'option h.follow_all_redirects = True, il ne me redirige pas vers la page d'accueil, mais les cookies sont sur la première page avant de rediriger. Les cookies que je reçois sont:

Mais ces cookies ne sont pas assez pour activer la session. Dans le navigateur je reçois un cookie plus:

datr=EzIL*********e-JFJL; lu=wgrr3q**********; locale=es_LA; L=2; 

act = 13 * * ** *; m_user = * **% 40gmail.com% 3A526402587% 3AN * * ****% 3A0% 3Av_1% 2Cajax_1% 2Cwidth_1600% 2Cpxr_1% 2Cgps_1% 3A13 * ** 1099; p = 182; fl = 1; W = 13 *** * 99; reg_fb_ref ​​= https% 3A% 2F% 2Fwww.facebook.com% 2Flogin.php% 3FM% 3DM% 26refsrc% 3Dhttp% 253A% 252F% 252Fm.facebook.com% 252F% 26refid% 3D0

Quelle pourrait être la problème?

+1

Si elle est « fixe », ne modifiez pas la question, répondra sur votre question (et l'accepter). – orlp

+0

Merci pour le commentaire, je ne savais pas quoi faire. – Lautaro

Répondre