问题描述
所以我正在仅使用访问令牌从 api 获取数据。我创建了两个 python 脚本,一个用于获取令牌,另一个用于获取数据。我为两个脚本创建了一个公共变量“令牌”。但是,当令牌在 15 分钟后过期时,我必须手动重新启动脚本。这个问题有解决方案吗?
授权码:
response = requests.request("POST",url,headers=headers,data=payload)
token = response.json()['access_token']
获取样本:
response2 = requests.request("GET",qurl,headers=headers2,data=payload2)
r2=response2.json()
payload={}
headers = {
'Host': 'proxy.sample.com','Accept': 'application/vnd.sample.v1+json','Authorization': 'Basic
MFQxOE5HYmFsUURGYzBnWkh6b3ZwZVJkN0a1Y3BMQ3w6dnwnamFZa3Ric2p4OUFPUg==','Accept-Encoding': 'br;q=1.0,gzip;q=0.9,deflate;q=0.8','Accept-Language': 'en-US;q=1.0,ar-US;q=0.9','Content-Type': 'application/json','User-Agent': 'SampleApp/3.37.0 (com.sample.mobile.consumer; build:3.#; iOS
14.4.1) Alamofire/5.2.2','access_token': token
注意:我不希望一次有多个脚本实例。
解决方法
只是一个想法,假设您使用的是循环,您可以使用 except。 因此,当错误发生时,代码会让您重新登录并继续
例如
while True:
try:
{script here}
except {ErrorType}:
print('token expired')
{relogin code}
continue