Python调用webapi,使用Token认证

Python调用webapi,使用Token认证

    • 需求
    • Python支持的webapi访问方法
    • 查看api接口调用方式
    • 代码

需求

使用python在程序中调用webapi接口,将产生的数据通过接口录入数据库。
前期使用.NetCore框架已经写好数据库新增接口,且使用api需要登录并生成Token,也可以通过Token直接验证。

Python支持的webapi访问方法

参考python实现API的调用一文,API的调用和接口的调用都是类似一个HTTP请求,而调用最主要就是根据相应的规则将请求方式、请求头、URL、以及请求体封装好然后发送请求,就可以实现相应的调用。
这里使用了requests

查看api接口调用方式

通过Swagger查看端口,获得url。一般需要验证的api需要在执行前验证用户密码生成Token。我们可以在Swagger中先执行一遍,记录下response的内容。
Swagger接口功能测试界面:
Python调用webapi,使用Token认证_第1张图片
接口返回内容:
Python调用webapi,使用Token认证_第2张图片

可以明确,调用接口的url,包含授权Token的header,以及data的格式,只需要在Python程序里将这些匹配好传递给api就可以。

代码

import requests
import json

url = "http://xxx.16.50.xx:xxxx/dev-api/Fire/add" # webapi的url
headers = {"accept": "*/*",
           "Content-Type": "application/json",
           "Authorization": "Bearer  你的Token"
            }
data={
  "param1": 0,
  "param2": 0,
  "etc":"etc"
}
data_json= json.dumps(data)     # data转为json格式
response = requests.post(url,headers = headers, data = data_json)
print(response.text)

需要注意的是,data的内容进行了json格式的强制转换,因为指定了json形式的输入格式

Token在重新登陆后会刷新,因此实际应用中不能直接写固定的Token。应该先访问登录的接口实时获取Token,然后使用这个Token访问数据接口。

Python调用webapi,使用Token认证_第3张图片
执行后,成功获得api返回的信息。查看数据库成功插入数据。

参考:

http://t.csdn.cn/tZomg

如果有帮到你,欢迎点赞收藏关注哦!

你可能感兴趣的:(python)