当前位置: 首页 > news >正文

学习python调用WebApi的基本用法(2)

  使用requests库以post方式调用WebApi接口的方式类似于前文,但由于post方式通常由请求体传递json格式参数,其用于与get调用略有区别,主要注意点如下:
  1)如果是https开头的地址,如果网站证书已经过期,需要设置verify属性为False(post或者get函数都需要设置),否则会报下面的错误:

requests.exceptions.SSLError: HTTPSConnectionPool(host='localhost', port=44303): Max retries exceeded with url: /EasyCaching/GetToken (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)')))

  2)通过请求体传递json格式的参数,需要在调用post函数时设置data属性,且需调用json.dumps函数将字符串转换为json格式(需要安装并引入json库);
  3)如果需要设置请求头,则在调用post函数时设置headers属性。

  以之前编写的基于JWT的身份验证WebApi接口为例,首先调用GetToken函数获取JWT Token,然后将Token附在请求头中调用GetInfo函数,示例代码及运行结果如下所示:

import requests
import json url = 'https://localhost:44303/EasyCaching/GetToken'response = requests.get(url, verify=False)jwt_token=response.textdata={"UserName": "1","UserSex": "2","UserPassword": "3","IsKeyUser": True
}headers={'Authorization':'Bearer '+jwt_token,'Content-Type':'application/json'}url='https://localhost:44303/EasyCaching/GetInfo'result=requests.post(url,data=json.dumps(data),headers=headers, verify=False)result_json = result.json()
print('UserName:'+result_json['UserName'])

在这里插入图片描述

参考文献:
[1]https://api.vvhan.com/
[2]https://blog.csdn.net/weixin_41287260/article/details/146780908

http://www.lryc.cn/news/587269.html

相关文章:

  • 反射内存卡的使用
  • 进制转换结合tk可视化窗口
  • C++高频知识点(十三)
  • Wireshark的安装和基本使用
  • 理解 Robots 协议:爬虫该遵守的“游戏规则”
  • Dubbo + Spring Boot + Zookeeper 快速搭建分布式服务
  • TDengine 使用最佳实践(2)
  • 《Llama: The Llama 3 Herd of Models》预训练数据篇——论文精读笔记
  • html-input 系列
  • ConcurrentHashMap笔记
  • ROS2中的QoS(Quality of Service)详解
  • 【基础算法】倍增
  • 从“被动巡检”到“主动预警”:塔能物联运维平台重构路灯管理模式
  • 动态规划题解_将一个数字表示成幂的和的方案数【LeetCode】
  • 《夏重庆》——一场暴雨的立体诗篇(DeepSeek赏析)
  • SQL140 未完成率top50%用户近三个月答卷情况
  • Flask中的路由尾随斜杠(/)
  • Kafka——Kafka 线上集群部署方案怎么做?
  • 代理模式:控制对象访问
  • AutoLabor-ROS-Python 学习记录——第二章 ROS通信机制
  • CATIA许可价格高,设计部门如何精细化分配?
  • Python 数据挖掘之数据探索
  • 鸿蒙选择本地视频文件,并获取首帧预览图
  • 【算法】贪心算法:柠檬水找零C++
  • 密码学系列文(1)--密码学基础概念详解
  • 密码学系列文(2)--流密码
  • ansible自动化部署考试系统前后端分离项目
  • 在 C# 中调用 Python 脚本:实现跨语言功能集成
  • MySQL逻辑删除与唯一索引冲突解决
  • C++高频知识点(九)