网络编程
位置:首页>> 网络编程>> Python编程>> Python中POST调用Restful接口示例

Python中POST调用Restful接口示例

作者:黑伴白  发布时间:2021-03-14 19:42:19 

标签:python,restful,接口

Python之POST调用Restful接口示例

# -*- coding: utf-8 -*-
import json
import re
import requests
from requests.auth import HTTPBasicAuth

# web登录用户
userName="admin"
# web登录密码
passWord="admin"
# 删除任务节点接口URL
# 删除任务节点 将任务从计划流程中删除 任务静态信息不会删除 任务节点产生的事件会同步删除 任务节点后依赖将不会再依赖此任务节点产生的事件
delTaskNodeURL="http://199.188.166.110:8080/MoiaControl/rest/RestService/delTaskNode"
# 用列表存储要删除的任务节点清单
taskNodesList=['a','b','c']

# 定义接口调用函数 通过post调用restful接口
# 采用HTTPBasicAuth一种简单的身份认证,它是通过http的authorization请求头中,携带经过base64加密的用户名和密码而实现的一种认证
def request_post(url, param, user, pwd):
   try:
       headers = {'charset': 'utf-8'}
       result = requests.post(url, data=param, auth=HTTPBasicAuth(user,pwd))
       # print("STATUS_CODE:{0}".format(result.status_code))
       # print("REASON:{0}".format(result.reason))
       # print("CONTENT:{0}".format(result.content.decode()))
       text=result.content.decode()
       return text
   except Exception as e:
       print(e)

# 根据任务节点列表清单 循环删除任务节点
for item in taskNodesList:
   # 获取任务节点名称 组成节点删除接口参数
   taskNodes={"taskNodes":"['%s']" % item}
   # 开始进行任务节点删除
   resInfo = request_post(delTaskNodeURL, taskNodes, userName, passWord)
   # 判断任务节点删除是否成功
   if not re.search(r"删除任务节点成功", resInfo):
       # 将任务删除结果的字符串转为字典格式 并获取删除结果描述信息
       reason=json.loads(resInfo)["describe"]
       # 打印删除结果
       print("刪除任务节点[%s]失败: %s" % (item, reason))
   else:
       # 将任务删除结果的字符串转为字典格式 并获取删除结果描述信息
       reason = json.loads(resInfo)["describe"]
       # 打印删除结果
       print("刪除任务节点[%s]成功: %s" % (item, reason))

补充:python用post访问restful服务接口

import requests
import json
data={"ids": ["00007190","00007191"]}

url="http://XXXXX"
data_json = json.dumps(data)
headers = {'Content-type': 'application/json'}
response = requests.post(url, data=data_json, headers=headers)
print(response.text)

来源:https://blog.csdn.net/weixin_49192027/article/details/122282007

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com