python 实现调用远程接口
huaweichenai 2020-07-02 14:51:45 357 收藏 3
分类专栏: Python
版权
在python中我们可以使用requests模块来实现调用远程接口
一:安装requests模块
pip install requests
二:使用requests模块实现get方式调用远程接口
使用get方式调用远程接口主要使用了requests模块的get方法
requests.get()
get方法常见的参数有url,params和headers
url:表示远程接口的地址
params表示get参数
headers表示get传参的headers参数信息
使用requests模块实现get方式调用远程接口的简单实现如下
# -*- coding: utf-8 -*-
import requests
import ast
#接口地址
url = 'XXX'
#get传参
data = {'type':'0'}
#headers信息
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer XXX'
}
#
r = requests.get(url, params=data, headers = headers)
# 接口返回的状态码
print(r.status_code)
# 接口返回的字符串内容
content = r.text
# #将字符串转字典型
content_list = ast.literal_eval(content)
print(content_list)
# 接口返回的json格式内容
print(r.json())
根据如上就可以实现使用get方式调用远程接口
三:使用requests模块实现post方式调用远程接口
使用post方式调用远程接口主要使用了requests模块的post方法
requests.post()
post方法常见的参数有url,data和headers
url:表示远程接口的地址
data:表示post参数
headers:表示post传参的headers参数信息
使用requests模块实现post方式调用远程接口的简单实现如下
# -*- coding: utf-8 -*-
import requests
import ast
#接口地址
url = 'XXX'
#header信息
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer XXX'
}
#post传参
data = {
'nickname': '111',
'gender': 1,
'city': 'ce',
'avatar': '111'
}
r = requests.post(url, data=data,headers=headers)
# 接口返回的状态码
print(r.status_code)
# 接口返回的字符串内容
content = r.text
# #将字符串转字典型
content_list = ast.literal_eval(content)
print(content_list)
# 接口返回的json格式内容
print(r.json())
根据如上就可以实现使用post方式调用远程接口
当远程接口调用通信不良的时候,可以设置重试次数
import requests
from retrying import retry
# 设置重试次数和时间间隔
@retry(stop_max_attempt_number=3, wait_fixed=1000)
def post_data(strXml):
headers = {
# 'Content-Type': 'application/json'
'Content-Type': 'text/xml'
# 'Content-Type': 'x-www-form-urlencoded;charset=UTF-8'
}
data = {}
data['message'] = strXml
data = strXml.encode('utf-8')
response = requests.post(url=pacs_url, data=data, headers=headers)
return response
# 调用函数
# response = get_data()