python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python登录接口获取token保存到文件中

Python登录接口如何获取token并保存到文件中

作者:yetianda0

这篇文章主要介绍了Python登录接口如何获取token并保存到文件中问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python登录接口获取token并保存到文件中

1.在项目下新建文件token.yaml文件,然后调用登录接口

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 用pip3命令安装
import requests
from ruamel import yaml
import json
def test_loginToGetToken():
    host = 'http://xx.xx.xx.xx:xx/'#接口地址ip与port
    url = host + "login"
    #登录的参数数据
    data = {
        'userName': '159592055xx',
        'loginType': 2,
        'password': '123123'
    }
    #登录请求头部信息
    headers = {'Content-Type': 'application/json'}
    # 初始化url请求对象
    response = requests.post(url=url, data=json.dumps(data), headers=headers)
    # print(response.text)
    # print(response.status_code)
    # print(response.json()["data"]["token"])
    # return response.json()["token"]
    # 把token值写入配置文件中
    yamlpath = r'D:\autotest\api\628x\Token.yaml'#保存文件路径
    #提取token字段
    tokenValue = {
        'token': response.json()["data"]["token"]
    }
    with open(yamlpath, "w", encoding="utf-8") as f:
        yaml.dump(tokenValue, f, Dumper=yaml.RoundTripDumper)
if __name__ == "__main__":
    test_loginToGetToken()

2.查看token.yaml文件

Python自动化实现获取token

在公共函数模块实现获取token函数,方便测试用例代码实现时直接调用拿到token值。

1、使用的模块

requests:第三方模块,用来发送http请求和获取返回的结果。

2、使用的方法

(1)requests的带参数get请求

requests.get(url='',params={' ‘:' ‘,' ‘:' ‘})

(2)或:字典类型的post请求方法

requests.post(url,data={' ‘:' ‘,' ‘:' '})

(3)获取响应内容

json():以json格式获取接口响应内容

(4)获取响应内容中的token值

json()[“data”][“token”]

或:

json().get(‘data').get(‘token')

响应格式:

响应格式

3、代码实现

import requests
def getToken():         # 获取token函数
    url = "http://ip:port/v1.0/interfaceUrl"
    data = {'userName': '****', 'password': '****'}
    r = requests.post(url, data=data)        #发送post请求
    return (r.json()["data"]["token"])           # 将获取的token返回

4、获取token的URL从配置文件中获取

代码实现

import requests
from getUrl import get_url
# 获取token
def getToken():
    #获取token的URL
    tokenUrl = get_url("token")
    data = {'userName': '*****', 'password': '*****'}
    r = requests.post(tokenUrl,data=data)       #发送post请求
    return (r.json()["data"]["token"])      # 将获取的token返回

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文