import requests import json from requests.exceptions import RequestException import platform from . import PyWebPageAPI UA = f"SolianForPythonApp/0.0.1(A) ({PyWebPageAPI.GetDeviceInfo()})" def _make_request(method: str, url: str, headers: dict, params: dict = None, normal_codes: list = [200], request_body: dict = None) -> dict: """内部辅助函数,用于发送HTTP请求并处理响应""" headers['User-Agent'] = UA try: if method == 'GET': response = requests.get(url, headers=headers, params=params) elif method == 'POST': response = requests.post(url, headers=headers, data=json.dumps(request_body)) elif method == 'DELETE': response = requests.delete(url, headers=headers, params=params) elif method == 'PATCH': response = requests.patch(url, headers=headers, data=json.dumps(request_body)) else: return {"error": "Unsupported HTTP method"} if response.status_code not in normal_codes: return {"error": f"Unexpected status code: {response.status_code}"} return response.json() except json.JSONDecodeError: return {"error": response.text} except RequestException as e: return {"error": str(e)}