如何使用Python 2.6.x的cookielib清除Cookies
看起来我之前的描述不太清楚,所以我重新写了一下。
我在用Python的urllib2库来自动化我的网页应用中的文件上传任务。同时,我使用Cookielib来存储会话信息,这样我就能成功地自动上传文件了。问题是,当我更改登录信息,或者没有提供这些信息,或者提供了错误的登录信息时,自动化的Python脚本仍然能够成功上传文件。在这种情况下,实际上应该是失败的。
我想要的就是,怎么清除Cookielib生成的cookies。
下面是代码片段……
cookies = cookielib.CookieJar()
cookies.clear_session_cookies()
#cookies.clear() tried this as well
opener = urllib2.build_opener(SmartRedirectHandler,HTTPCookieProcessor(cookies),MultipartPostHandler)
urllib2.install_opener(opener)
login_req = urllib2.Request(login_url, login_params)
res = urllib2.urlopen(login_req)
#after login, do fileupload
fileupload_req = urllib2.Request(fileupload_url, params)
response = urllib2.urlopen(import_req)
我尝试使用clear()和clear_session_cookies(),但cookies还是没有被清除。
2 个回答
0
你需要安装你自己制作的打开器,不然它会一直使用默认的设置。
0
我不再依赖 cookies,而是通过响应头来限制页面访问。现在,当输入错误的凭证时,我可以停止文件上传的过程。谢谢大家。