Skip to content

Commit 1bb9165

Browse files
committed
Docs: Clarify that method-level params are not persisted in sessions.
1 parent 3131439 commit 1bb9165

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

docs/api.rst

+2
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ Status Code Lookup
8181
>>> requests.codes['\o/']
8282
200
8383

84+
.. _api-cookies:
85+
8486
Cookies
8587
~~~~~~~
8688

docs/user/advanced.rst

+18
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,24 @@ Any dictionaries that you pass to a request method will be merged with the
4545
session-level values that are set. The method-level parameters override session
4646
parameters.
4747

48+
Note, however, that method-level parameters will *not* be persisted across
49+
requests, even if using a session. This example will only send the cookies
50+
with the first request, but not the second::
51+
52+
s = requests.Session()
53+
r = s.get('http://httpbin.org/cookies', cookies={'from-my': 'browser'})
54+
print(r.text)
55+
# '{"cookies": {"from-my": "browser"}}'
56+
57+
r = s.get('http://httpbin.org/cookies')
58+
print(r.text)
59+
# '{"cookies": {}}'
60+
61+
62+
If you want to manually add cookies to your session, use the
63+
:ref:`Cookie utility functions <api-cookies>` to manipulate
64+
:attr:`Session.cookies <requests.Session.cookies>`.
65+
4866
Sessions can also be used as context managers::
4967

5068
with requests.Session() as s:

0 commit comments

Comments
 (0)