# 導入requests庫
import requests
# 自定義處理響應的函數
def custom_response_handler(response, *args, **kwargs):
# 檢查響應狀態碼
if response.status_code != 200:
print(response.request.url + " " + response.text)
raise RuntimeError(response.text)
# 解析JSON數據
json_data = response.json()
# 檢查errcode是否為0
if json_data.get('errcode') != 0:
print("🚨🚨🚨 Error 🚨🚨🚨️")
print(response.request.url + " " + json_data.get('errmsg'))
raise RuntimeError(json_data.get('errmsg'))
else:
pass
return response
# 自定義會話類,繼承自requests.Session
class CustomSession(requests.Session):
def __init__(self):
super(CustomSession, self).__init__()
# 重寫request方法
def request(self, method, url, **kwargs):
# 在URL前添加固定部分
url = 'https://www.xxx.com' + url
# 設置默認超時時間為3秒
kwargs.setdefault('timeout', 3)
# 更新請求頭部信息
kwargs.setdefault('headers', {}).update(...)
return super(CustomSession, self).request(method, url, **kwargs)
# 創建自定義會話對象
my_session = CustomSession()
# 禁用SSL驗證
my_session.verify = False
# 添加響應處理鈎子
my_session.hooks['response'].append(custom_response_handler)
本文使用MdSync工具發佈!