接口和数据库

import base64
import json

import requests


def doPost(url, params):
    headers = {'Content-Type': "application/json", }
    response = requests.request("POST", url, data=json.dumps(params), headers=headers)
    status_code = response.status_code
    if status_code == 200:
        return json.loads(str(response.content, "utf-8"))
    else:
        raise Exception("接口请求失败\n" + "状态码:" + str(status_code) + "\n" + response.text)


def doPostBase64Decode(url, params):
    headers = {'Content-Type': "application/json", }
    response_base64 = requests.post(url, data=json.dumps(params), headers=headers)
    status_code = response_base64.status_code
    if status_code == 200:
        response = str(base64.b64decode(response_base64.content), 'utf-8')
        return json.loads(response)
    else:
        raise Exception("接口请求失败\n" + "状态码:" + str(status_code) + "\n" + response_base64.text)


def doPostBase64Decode_str(url, params):
    headers = {'Content-Type': "application/json", }
    response_base64 = requests.post(url, data=json.dumps(params), headers=headers)
    status_code = response_base64.status_code
    if status_code == 200:
        return str(base64.b64decode(response_base64.content), 'utf-8')
    else:
        raise Exception("接口请求失败\n" + "状态码:" + str(status_code) + "\n" + response_base64.text)
def db_query(db, sql):
    # 连接数据库
    global db_info
    db_info = db_dic[db]
    conn = pymysql.connect(host=db_info[0], user=db_info[1],
                           password=db_info[2], db=db_info[3], port=db_info[4])  # db:库名
    try:
        # 设置游标类型,默认游标类型为元祖形式
        # 将游标类型设置为字典形式
        cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
        cur.execute(sql)
        # 将表中所有数据以字典形式输出
        ret = cur.fetchall()
        # print(ret)
        # 提交
        conn.commit()
        # 关闭指针对象
        cur.close()
        return ret
    finally:
        # 关闭连接对象
        conn.close()