You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Requests设置Cookie?维基百科Cookie操作失败求助

问题原因与解决方法

先说说你代码里的问题

第一个代码的问题

你通过requests.get()的cookies参数传入自定义Cookie,是把这个Cookie发送给维基百科服务器,但response.cookies只显示服务器返回给你的Cookie。维基百科不会把你发过去的自定义Cookie再回传给你,所以你看不到它,不代表没发送成功。

第二个代码的问题

你创建了两个完全独立的Session实例:http_session和requests.session(),你在后者身上设置了Cookie,却用前者去发起请求,自然不会带上这个Cookie;另外domain参数要填纯域名(比如wikipedia.com),不能带https://前缀。


正确做法

方法1:用Session管理Cookie(适合多请求复用)

用同一个Session实例设置Cookie并发起请求,同时可以通过请求头确认Cookie是否发送成功:

import requests

with requests.Session() as http_session:
    # 给Session添加自定义Cookie,domain填正确的域名
    http_session.cookies.set("my_cookie", "my_val", domain="wikipedia.com")
    
    r = http_session.get("https://wikipedia.com")
    
    # 查看服务器返回的Cookie
    print("服务器返回的Cookie:", r.cookies)
    # 查看发送给服务器的Cookie(在请求头里)
    print("发送的Cookie:", r.request.headers.get("Cookie"))

方法2:单次请求发送自定义Cookie

如果只是单次请求,同样可以通过请求头确认发送状态:

import requests

my_cookie = {"new_cookie": "new_value"}

response = requests.get("https://wikipedia.com", cookies=my_cookie)

# 查看服务器返回的Cookie
print("服务器返回的Cookie:", response.cookies)
# 查看发送的Cookie
print("发送的Cookie:", response.request.headers.get("Cookie"))

额外说明

如果需要让自定义Cookie在后续请求中自动携带,必须用Session对象来管理——它会自动保存你设置的Cookie,以及服务器返回的Cookie,后续请求都会带上这些Cookie。

内容的提问来源于stack exchange,提问作者Thegreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:12:09