如何复用浏览器认证信息调用Python REST API?
如何复用浏览器认证信息调用Python REST API?
这个问题我之前折腾复杂MFA认证的时候也碰到过!手动在代码里实现多因素验证简直头大,复用浏览器已经通过认证的会话信息绝对是最高效的解决方案,下面给你几个亲测好用的方法:
方法一:手动提取Cookie,在Python请求中携带
这是最直接的临时解决方案:
- 先打开浏览器开发者工具(按F12),切换到「Application」(Chrome)或「存储」(Firefox)标签,找到「Cookies」下的目标API域名,复制关键的Cookie字段(一般是类似
session_id、auth_token这类和认证强相关的键值对) - 然后在Python里用
requests库携带这些Cookie发送请求:import requests # 把从浏览器复制的Cookie整理成字典 auth_cookies = { 'session_id': '你从浏览器复制的会话ID值', 'auth_token': '你从浏览器复制的认证令牌值' } # 发送API请求时带上cookies参数 response = requests.get('你的目标API接口地址', cookies=auth_cookies) print(response.status_code) print(response.text) - 小提示:Cookie一般有有效期,过期后就得重新从浏览器里复制一次
方法二:提取Authorization请求头令牌
有些API会用Bearer Token做认证,这种情况可以直接拿请求头里的令牌:
- 同样在浏览器开发者工具的「Network」标签里,找到一次成功的API请求,查看「请求头」里的
Authorization字段,值一般是Bearer 一串长字符 - 然后在Python里把这个字段加到请求头里:
import requests auth_headers = { 'Authorization': 'Bearer 你复制的完整令牌内容' } response = requests.get('你的目标API接口地址', headers=auth_headers) print(response.text)
方法三:用工具自动导入浏览器Cookie(省心首选)
如果不想每次都手动复制,可以用browsercookie库自动读取浏览器的Cookie,全程不用自己动手:
- 先安装库:
pip install browsercookie - 然后直接在代码里调用,它会自动读取对应浏览器的认证Cookie:
import requests import browsercookie # 读取Chrome的Cookie,换成firefox()就是读取火狐的 cookie_jar = browsercookie.chrome() # 发送请求时带上cookie_jar response = requests.get('你的目标API接口地址', cookies=cookie_jar) print(response.text) - 注意:这个方法可能受浏览器版本、系统权限影响,比如Chrome的Cookie存储路径更新后可能读不到,记得确保浏览器处于登录状态
一些要注意的坑
- 安全问题:这些Cookie和令牌都是你的个人认证信息,绝对不能随便分享给别人
- 过期问题:大部分网站的会话都会定时过期,过段时间如果请求失败了,大概率是会话失效,得重新操作一次
- 特殊限制:少数网站的Cookie有SameSite或域名绑定限制,不过直接用Python调用API一般不会触发这些问题
备注:内容来源于stack exchange,提问作者Trenin
相关产品推荐
相关产品推荐

