Вы можете сделать это путем определения политики куки, чтобы отклонить все куки:
from http import cookiejar # Python 2: import cookielib as cookiejar
class BlockAll(cookiejar.CookiePolicy):
return_ok = set_ok = domain_return_ok = path_return_ok = lambda self, *args, **kwargs: False
netscape = True
rfc2965 = hide_cookie2 = False
(Обратите внимание, что API http.cookiejar
«s требует, чтобы определить кучу атрибутов и методы, как показано.)
Затем установите политику файлов cookie на ваш запрос:
import requests
s = requests.Session()
s.cookies.set_policy(BlockAll())
Он теперь не хранить или отправить печенье:
s.get("https://httpbin.org/cookies/set?foo=bar")
assert not s.cookies
Как и в сторону, если вы посмотрите на код, методы удобства в requests
пакета (в отличие от тех, кто на requests.Session
объекта) каждый раз создавайте новый Session
. Поэтому куки-файлы не сохраняются между отдельными вызовами до requests.get
. Однако, если первая страница устанавливает куки, а затем выдает перенаправление HTTP, на целевой странице будут отображаться файлы cookie. (Это то, что происходит с вызовом HTTPBin /cookies/set
, который перенаправляется на /cookies
.)
Так что, в зависимости от того, какое поведение вы хотите перенаправить, вам может не понадобиться ничего особенного. Сравните:
>>> print(requests.get("https://httpbin.org/cookies/set?foo=bar").json())
{'cookies': {'foo': 'bar'}}
>>> print(requests.get("https://httpbin.org/cookies").json())
{'cookies': {}}
>>> s = requests.Session()
>>> print(s.get("https://httpbin.org/cookies/set?foo=bar").json())
{'cookies': {'foo': 'bar'}}
>>> print(s.get("https://httpbin.org/cookies").json())
{'cookies': {'foo': 'bar'}}
>>> s = requests.Session()
>>> s.cookies.set_policy(BlockAll())
>>> print(s.get("https://httpbin.org/cookies/set?foo=bar").json())
{'cookies': {}}
>>> print(requests.get("https://httpbin.org/cookies").json())
{'cookies': {}}
[Запросы - Cookies] (http://docs.python-requests.org/en/latest/user/quickstart/#cookies) из документации, они ничего о инвалидизирующих печенье не говоря уже о , Но вы можете взглянуть на https://github.com/kennethreitz/requests/blob/master/requests/cookies.py и https://github.com/kennethreitz/requests/blob/master/requests/sessions. py о том, как он обрабатывает cookiejars. – bnlucas