修正了,httplin2不能处理多个cookie,修补程序可以在这里找到:http://code.google.com/p/httplib2/issues/detail?id=146
,我正在编写一个facebook登录脚本,以获得我最后的通知,但我遇到了问题。我已经从urllib更改为httplib2,因为对我来说,这似乎更容易、更快。使用urllib,我能够获得正确的cookie并在需要检索通知时使用它,现在我使用的是httplib页面中的示例:
user_agent = 'Mozilla/5.0 ( Windows;U;WindowsNT6.1;zh-CN;
rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8‘headers ={’user_agent‘:user_agent,’Content‘:’application/xhtml form-urlencoded‘,'Accept’:'text/html,application/xhtml+xml,application/xml;q=0.9,/;Q=0.8,“连接”:“保持-活着”,“接受-编码”:'gzip,deflate','http://m.facebook.com/‘} data = {'email’:'myusername','pass‘:'mypassword','post_form_id’:‘,'charset_test’:'',‘版本’:1,'ajax‘:1,'pxr’:1,‘pxr’:1,‘'gps’:1,‘登录’:'Entrar'}响应,content = h.request("http://www.facebook.com/login.php?m=m&refsrc=http://m.facebook.com/&refid=0","POST",urllib.parse.urlencode(data),headers=headers)
这是我得到的标题:
{“状态”:“200”,“x-连接”:“关闭”,“内容-位置”:
'http://m.facebook.com/home.php?refsrc=http%3A%2F%2Fm.facebook.com%2F&refid=0&m_sess=*****tAm60&_rdr',‘传输-编码’:‘分块’,'set-cookie':http://m.facebook.com/home.php?refsrc=http%3A%2F%2Fm.facebook.com%2F&refid=0&m_sess=*****tAm60&_rdr' expires=Fri,06-2013年9月-2013年20:33:26格林尼治时间;路径=/;domain=.facebook.com;date:/.‘>、’期满‘:'Sat,2000年1月1日00:00 GMT’、‘x server’:'10.62.188.41‘、’内容-长度‘:'26702’、‘-内容-编码’:'gzip‘、’语用‘:' no-cache’、‘缓存-控制’:‘私有的、无缓存的、非存储的’必须-重新验证‘、’日期‘:'Wed’,2011年9月7日20:33:27 GMT',' P3P ':‘CP=’Facebook没有P3P策略。了解为什么在这里:http://fb.me/p3p"',‘content’:'text/html;charset=utf-8',‘x-框架-选项’:‘拒绝’}
如果我不使用h.follow_all_redirects = True选项,它不会将我重定向到主页,但是set cookie在重定向之前位于第一页。我得到的曲奇是:“get cookie”:'datr=F*F-OQsTCnbw0Caa;expires=Fri,06-20139-9:33:26 GMT;path=/;domain=.facebook.com;httponly‘
但这些cookie不足以激活会话。在浏览器中,我得到了一个更大的cookie:
datr=EzIL*EzIL;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
有什么问题吗?
发布于 2011-09-10 01:47:08
修正了,httplin2不能处理多个cookie,修补程序可以在这里找到:http://code.google.com/p/httplib2/issues/detail?id=146
https://stackoverflow.com/questions/7340818
复制相似问题