当前位置:首页python > 正文

python中excel接口自动化获取token并作为请求参数进行传参操作

作者:野牛程序员:2023-12-27 16:26:00python阅读 2525

通过使用 Python 中的 requests 库和 openpyxl 库,可以实现通过 Excel 接口自动获取 Token 并将其作为请求参数进行传递操作。以下是一个简单的示例代码:

import requests
from openpyxl import load_workbook

# 从 Excel 文件中加载数据
def load_excel_data(file_path, sheet_name, row, column):
    workbook = load_workbook(file_path)
    sheet = workbook[sheet_name]
    data = sheet.cell(row=row, column=column).value
    workbook.close()
    return data

# 获取 Token
def get_token(api_url, username, password):
    login_payload = {
        'username': username,
        'password': password
    }

    response = requests.post(api_url, data=login_payload)
    
    if response.status_code == 200:
        token = response.json().get('token')
        return token
    else:
        raise Exception(f"Failed to get token. Status code: {response.status_code}, Response: {response.text}")

# 发送请求并使用 Token
def send_request(api_url, token, other_params):
    headers = {
        'Authorization': f'Bearer {token}',
        'Content-Type': 'application/json'
    }

    payload = {
        # 添加其他请求参数
        'param1': 'value1',
        'param2': 'value2',
        # ...
    }

    payload.update(other_params)

    response = requests.post(api_url, headers=headers, json=payload)

    if response.status_code == 200:
        # 处理响应数据
        result = response.json()
        return result
    else:
        raise Exception(f"Request failed. Status code: {response.status_code}, Response: {response.text}")

# 主程序
if __name__ == "__main__":
    # Excel 文件路径和表格信息
    excel_file_path = 'your_excel_file.xlsx'
    sheet_name = 'Sheet1'
    username_cell = 'A1'
    password_cell = 'B1'

    # 接口信息
    api_url = 'https://example.com/api/login'

    # 获取用户名和密码
    username = load_excel_data(excel_file_path, sheet_name, *username_cell)
    password = load_excel_data(excel_file_path, sheet_name, *password_cell)

    # 获取 Token
    token = get_token(api_url, username, password)

    # 发送请求并使用 Token
    other_params = {
        # 其他请求参数
        'key': 'value',
        # ...
    }
    result = send_request(api_url, token, other_params)

    # 处理结果
    print(result)

此代码中的示例是基于用户名密码登录获取 Token,具体取决于目标接口的认证方式。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击