如何清除urllib.request中的cookie(python3)

时间:2011-02-15 23:53:50

标签: python python-3.x urllib

通过文档查看我的第一个猜测是我调用urllib.request.HTTPCookieProcessor()。cookiejar.clear(),但是这不起作用。我的下一个猜测是,我可能需要将其子类化并使用开启器构建/安装它?我不知道该怎么做,如果需要的话,我当然可以,但对于我认为应该是如此简单的操作,这似乎有些过分。

1 个答案:

答案 0 :(得分:17)

默认情况下,urllib.request不会存储任何Cookie,因此无需清除。如果您将OpenerDirector包含HTTPCookieProcessor实例构建为处理程序之一,则必须清除此实例的cookiejarExample from the docs

import http.cookiejar, urllib.request
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
r = opener.open("http://example.com/")

如果您要清除cj中的Cookie,请拨打cj.clear()

您尝试的来电urllib.request.HTTPCookieProcessor().cookiejar.clear()将创建一个新的HTTPCookieProcessor实例,该实例将为空cookiejar,清除cookiejar(无论如何都是空的)并放弃整个再一次,因为你不存储对任何创建对象的引用 - 所以简而言之,它什么都不做。