Python FileCookieJar.save() 问题
我在尝试使用 FileCookieJar
的 save
方法将 cookie 保存到文件时遇到问题。这是我的代码:
#!/usr/bin/python
import httplib, cookielib, urllib2, json, time
from datetime import date
class FoN:
def __init__(self):
self.cookiefile = "cookies.txt"
self.cj = cookielib.FileCookieJar(self.cookiefile)
def login (self, login, password):
js = json.JSONEncoder().encode({"login":login,"password":password})
req=urllib2.Request("http://www.example.com/user/login", js)
res=urllib2.urlopen(req)
self.cj.extract_cookies(res,req)
self.cj.save(self.cookiefile, ignore_discard=True)
f.write ("Login: "+login+", result: "+str(res.read().count("true"))+"\n")
time.sleep(2)
return res
所以它在 self.cj.save(self.cookiefile,ignore_discard=True)
处失败,引发 NotImplementedError
异常,这是根据文档的。但我的问题是如何将 cookie 保存到文件中?我什至尝试将代码包含在 try
子句中,但这根本没有帮助。
I have a problem while trying to save cookies to a file using FileCookieJar
's save
method. Here is my code:
#!/usr/bin/python
import httplib, cookielib, urllib2, json, time
from datetime import date
class FoN:
def __init__(self):
self.cookiefile = "cookies.txt"
self.cj = cookielib.FileCookieJar(self.cookiefile)
def login (self, login, password):
js = json.JSONEncoder().encode({"login":login,"password":password})
req=urllib2.Request("http://www.example.com/user/login", js)
res=urllib2.urlopen(req)
self.cj.extract_cookies(res,req)
self.cj.save(self.cookiefile, ignore_discard=True)
f.write ("Login: "+login+", result: "+str(res.read().count("true"))+"\n")
time.sleep(2)
return res
So it fails at self.cj.save(self.cookiefile, ignore_discard=True)
raising NotImplementedError
exception, which is according to the documentation. But my question how do I save cookies to the file then? I even tried to include the code in try
clause but that didn't help at all.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
基本
FileCookieJar
未实现.save
要进行保存,您应该使用MozillaCookieJar
或LWPCookieJar
等子类之一>。The base
FileCookieJar
does not implement.save
To get saving, you should use one of the subclasses likeMozillaCookieJar
orLWPCookieJar
.我已将示例代码写入演示:
内存中的cookie
文件中的cookie
LWP
Mozilla
保存到文件
从文件加载
代码:
I have write sample code to demo:
memory
file
LWP
Mozilla
save into file
load from file
code: