import http.client import json index_mapping = { "1": {"name": "交易指数", "text": "交易金额"}, "2": {"name": "流量指数", "text": "访客人数"}, "3": {"name": "支付转化率指数", "text": "支付转化率"}, "4": {"name": "客群指数", "text": "支付人数"}, "5": {"name": "搜索人气", "text": "搜索人数"}, "6": {"name": "加购人气", "text": "加购人数"}, "7": {"name": "收藏人气", "text": "收藏人数"}, } def get_token(username, password): conn = http.client.HTTPSConnection("www.koudai89.com") payload = "" headers = {} conn.request( "GET", f"/web/api/login/doLogin?ursername=&password={password}&username={username}", payload, headers, ) data = conn.getresponse().read() data_dict = json.loads(data.decode("utf-8")) try: return data_dict["data"]["login_token"] except Exception as e: raise Exception(f"获取token失败: {e}") def reduce_index(token, code, data=int | list) -> int | list: conn = http.client.HTTPSConnection("www.koudai89.com") payload_data = [data] if isinstance(data, int) else data payload_data_list = [{"code": code, "value": item} for item in payload_data] payload = json.dumps(payload_data_list) headers = { "Content-Type": "application/json", "user-token": token, } conn.request("POST", "/web/api/adviserD/data/select", payload, headers) response_data = conn.getresponse().read() data_dict = json.loads(response_data.decode("utf-8")) if not data_dict["state"]: raise Exception(f"获取数据失败: {data_dict['msg']}") reduce_data = data_dict["data"] clear_data = [item.get("result_value") for item in reduce_data] if isinstance(data, int): return clear_data[0] return clear_data if __name__ == "__main__": username = "17756164521" password = "320753691love" token = get_token(username, password) result = reduce_index(token=token, code="1", data=[30000, 10000]) print(result)