Python生成有效oauth_signature的最简代码及合法Authorization Header实现方案
直接使用成熟的requests-oauthlib库完成签名逻辑,无需手动实现HMAC-SHA1签名、参数排序等容易出错的步骤。
1. 安装依赖
pip install requests requests-oauthlib
2. 可运行示例代码
from requests_oauthlib import OAuth1 import requests # 替换为你自己的凭证 CONSUMER_KEY = "你的consumer key" CONSUMER_SECRET = "你的consumer_secret" ACCESS_TOKEN = "你的access_token" TOKEN_SECRET = "你的token_secret" # 构造OAuth1认证对象,默认使用HMAC-SHA1签名算法,自动处理签名生成 auth = OAuth1( client_key=CONSUMER_KEY, client_secret=CONSUMER_SECRET, resource_owner_key=ACCESS_TOKEN, resource_owner_secret=TOKEN_SECRET ) # 替换为你实际要请求的RESTful接口地址、请求方法 # 注意:签名和请求方法、URL、请求参数强绑定,必须和实际请求一致 url = "https://你的目标服务接口地址" resp = requests.get(url, auth=auth) # 打印生成的Authorization头,可直接复用 print("生成的Authorization头:", resp.request.headers["Authorization"])
补充说明
如果仅需要单独获取Authorization头不需要实际发送请求,可构造空请求手动生成:
from requests import Request req = Request('GET', url, auth=auth) prepped = req.prepare() print(prepped.headers['Authorization'])
签名计算会自动关联请求的方法、URL、查询参数、请求体参数,修改请求信息后需要重新生成头。
内容的提问来源于stack exchange,提问作者user16005292
相关产品推荐
相关产品推荐

