如何获取活动 session 的 cookie 以将其提供给 python 的 post 请求?

How do I get the cookies of the active session to give it to the post request with python?

我有一个关于网站 cookie 的问题。 如果我在网站上手动发出请求,它会交出带有 cookie 的 header。 例如,cookie 是这样的:

cookie: laravel_session=eyJpdiI6IjBCMnNTdFNmV3lCawererwadsf0SXc9PSIsInZhbHVlIjoiTWtZUDduSkFXdzRobERtQ0YxdkxreEkzYzJtWFwvUEVyMHgyT2ljN2EyeXg3XasdfweUUwQzhGRWowVEp5VygsdgfewTQ2MGJmNjEzZmYyNmU4YjdhYTQyMzkyNTYzYjFjMTQ4MDQ5NjlkNDQ0ZGQ4NGRiZDE5YjNhYTRhMzA5ODMifQ%3D%3D

但是我如何才能根据我的请求获得该 cookie?我想发送一个 post 请求,其中包含数据,但我不知道如何将此 cookie 与请求 Header 一起发送或如何生成它?我不想手动将其放入应该从网站上得到它。还是它会自动发送带有 header?

的 cookie

谢谢! 埃利亚斯

我不知道 laravel_session cookie - 我可以从哪里得到它?

这应该可以帮助您解决问题,因为这是如何通过 python 请求发送 cookie。即使这是来自维基百科,它也是一个通过请求发送 cookie 的示例。

import requests

cookies = {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'}

r = requests.post('http://wikipedia.org', cookies=cookies)

如果我对你的问题的理解正确,你想从当前会话中获取一个 cookie,然后将其与请求一起发送。这应该做到这一点。

import requests

req_url = 'http://foo.bar.com'
req_data = {'some': 'data'}

session = requests.Session()
response = requests.get(req_url)
cookie_to_send = session.cookies.getdict()['cookie_name']

requests.post(url=req_url, data=req_data, cookie={'cookie_name': cookie_to_send})