添加 cookie 到请求会话

Asa*_*ara 3 python cookies session

requests.Session()我想在开始第一个请求之前启动并添加一个 cookie。我希望有一个 cookie 参数或类似的东西来做到这一点

def session_start()
    self.session = requests.Session(cookies=['session-id', 'xxx'])

def req1():
    self.session.get('example.org')

def req2():
    self.session.get('example2.org')
Run Code Online (Sandbox Code Playgroud)

但这是行不通的,我只能cookies.get()方法中提供。我是否需要在 session_start() 中执行“虚拟请求”,或者有没有办法在开始实际请求之前准备 cookie?

小智 5

文档中:

但请注意,即使使用会话,方法级参数也不会在请求之间保留。此示例将仅在第一个请求中发送 cookie,但不会在第二个请求中发送:

s = requests.Session()

r = s.get('https://httpbin.org/cookies', cookies={'from-my': 'browser'})
print(r.text)
# '{"cookies": {"from-my": "browser"}}'

r = s.get('https://httpbin.org/cookies')
print(r.text)
# '{"cookies": {}}'
Run Code Online (Sandbox Code Playgroud)