我正在使用
requests.get()
从 API 获取数据,但是,我必须包含 cookie,否则请求将不会返回数据。这个想法是将其作为 headers 参数的一部分包含在内,但是我只能在 **发出请求之后才能获取 cookie。我需要在 **实际请求之前获取 cookie,并将其作为参数的一部分包含在我发出的请求中。
我首先创建一个新会话,然后发出请求:
session = requests.Session()
response = session.get('http://google.com')
我在这里使用谷歌作为例子。
但是我的问题是,我应该在使用
.get()
之前拥有 cookie,并将 cookie 添加为标头中的参数,否则 API 请求将失败。我知道在请求后使用以下方法获取cookie的方法:
session.cookies.get_dict()
我从中获取数据的网站每 2 分钟随机生成一次 Cookie,因此我需要能够抓取该字符串并将其插入上面的
.get()
中。
谢谢!
在不进入设置随机 Cookie 的网站的情况下,您如何知道要设置哪些内容作为 Cookie?也许你可以重新表述你的问题,因为这没有任何意义。
您可以在发出任何请求之前在请求会话中手动指定 cookie,但前提是您知道 cookie 应该是什么。
import requests
s = requests.session()
s.cookies.set("COOKIE_NAME", "this is the cookie value", domain="example.com")