栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用urllib2的Python表单POST(也是有关保存/使用Cookie的问题)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用urllib2的Python表单POST(也是有关保存/使用Cookie的问题)

您发布的代码有很多问题。通常,您需要构建一个可以处理重定向,https等的自定义打开器,否则会遇到麻烦。至于cookie本身,您需要在上调用load和save方法

cookiejar
,并使用子类之一,例如
MozillacookieJar
LWPcookieJar

这是我写的用于登录Facebook的课程,当时我在玩愚蠢的网络游戏。我刚刚对其进行了修改,以使用基于文件的cookiejar,而不是内存中的cookiejar。

import cookielibimport osimport urllibimport urllib2# set these to whatever your fb account isfb_username = "your@facebook.login"fb_password = "secretpassword"cookie_filename = "facebook.cookies"class WebGamePlayer(object):    def __init__(self, login, password):        """ Start up... """        self.login = login        self.password = password        self.cj = cookielib.MozillacookieJar(cookie_filename)        if os.access(cookie_filename, os.F_OK): self.cj.load()        self.opener = urllib2.build_opener( urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler(debuglevel=0), urllib2.HTTPSHandler(debuglevel=0), urllib2.HTTPcookieProcessor(self.cj)        )        self.opener.addheaders = [ ('User-agent', ('Mozilla/4.0 (compatible; MSIE 6.0; '     'Windows NT 5.2; .NET CLR 1.1.4322)'))        ]        # need this twice - once to set cookies, once to log in...        self.loginToFacebook()        self.loginToFacebook()        self.cj.save()    def loginToFacebook(self):        """        Handle login. This should populate our cookie jar.        """        login_data = urllib.urlenpre({ 'email' : self.login, 'pass' : self.password,        })        response = self.opener.open("https://login.facebook.com/login.php", login_data)        return ''.join(response.readlines())test = WebGamePlayer(fb_username, fb_password)

设置用户名和密码后,您应该会看到一个文件

facebook.cookies
,其中包含您的cookie。实际上,您可能需要对其进行修改,以检查是否有活动的cookie并使用它,如果访问被拒绝,请再次登录。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号