我有两种方法
def save_cookie():
cookie = cookielib.MozillaCookieJar('cookie.txt')
opener = urllib2.build_opener(HTTPCookieProcessor(cookie))
req = urllib2.Request(url=targeturl,headers=targetheaders)
opener.open(req)
cookie.save(ignore_discard=True,ignore_expires=True)
def get_cookie():
cookie = cookielib.MozillaCookieJar()
print cookie.load(filename='cookie.txt').name
第一种方法是将cookie保存在响应文件中。 我想使用第二种方法从文件中获取cookie, 但 cookie.load(filename ='cookie.txt')的类型为None 所以......
答案 0 :(得分:0)
致电cookie.load()
后,迭代cookie
对象,依次获取每个Cookie:
for acookie in cookie:
print acookie.name, acookie.value
对评论#1的回应:
cookie的类型是None!所以它什么都不打印。好像就是这样 文件未加载成功。
cookie.load()
不会返回任何值。它要么成功,要么抛出异常。因此,您不能以原始程序尝试使用它的方式使用它,如下所示:
print cookie.load(filename='cookie.txt').name
将该行更改为:
cookie.load(filename='cookie.txt')
然后执行:
for acookie in cookie:
print acookie
如果仍然没有显示任何Cookie,请查看 cookie.txt 文件的内容。如果它不包含任何cookie数据,则问题出在程序试图收集cookie的部分,而不是试图显示它们的部分。 (您确定此网址的回复包含Cookie吗?)
如果 cookie.txt 文件包含Cookie,请更新您的问题以显示该文件的内容以及get_cookie()
功能的最新来源。
答案 1 :(得分:0)
print cookie.load(filename =' cookie.txt')
function - load()的值为none。 我认为你应该这样做:
cookie.load(' cookie.txt&#39)
print cookie.name