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

kry*_*000 7 python urllib python-3.x

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

Sve*_*ach 17

默认情况下,urllib.request不会存储任何cookie,因此无需清除.如果您将OpenerDirector包含和HTTPCookieProcessor实例构建为处理程序之一,则必须清除cookiejar此实例. 来自文档的示例:

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

如果您想清除cookie cj,请致电cj.clear().

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