Как очистить куки в urllib.request (python3) - PullRequest
7 голосов
/ 16 февраля 2011

Просматривая документы, я предположил, что я вызываю urllib.request.HTTPCookieProcessor (). Cookiejar.clear (), однако это не сработало.Мое следующее предположение, может быть, мне нужно разделить его на подклассы и собрать / установить его с помощью новичка?Я не знаю, как это сделать, я могу, если нужно, конечно, но это действительно кажется излишним, потому что я считаю, что такая простая операция.

1 Ответ

17 голосов
/ 16 февраля 2011

По умолчанию 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/")

Если вы хотите удалить куки в cj, просто позвоните cj.clear().

Звоните urllib.request.HTTPCookieProcessor().cookiejar.clear() вампопытался создать новый экземпляр HTTPCookieProcessor, который будет иметь пустой cookiejar, очистить cookiejar (который в любом случае пуст) и снова отбросить все, поскольку вы не сохраняете ссылки ни на один из созданных объектов -- Короче говоря, это ничего не даст.

...