我想从第二个呼叫中的第一个呼叫重新发送已初始化的cookie,以使会话不变。这是行不通的。
为什么?以及如何解决。抱歉,python新功能
https_url = "www.google.com"
r = requests.get(https_url)
print(r.cookies.get_dict())
#cookie = {id: abc}
response = requests.get(https_url, cookies=response.cookies.get_dict())
print(response.cookies.get_dict())
#cookie = {id: def}
答案 0 :(得分:1)
从上次响应到下一个请求的cookie传递方式不一定是错误的,
"www.google.com"
是无效的URL。http://www.google.com
作为URL,Google在此类GET请求中返回的cookie也不意味着是会话cookie,也不会在请求中持久存在。r
来接收第一个requests.get
的返回值,而在制作第二个response.cookies
时却使用了requests.get
。可能有错字?requests.Session
以避免对会话cookie进行微管理。有关详细信息,请阅读requests.Session
's documentation。
import requests
with requests.Session() as s:
r = s.get(https_url)
# cookies from the first s.get are automatically passed on to the second s.get
r = s.get(https_url)
...