类封装Get/Post请求
1、方式一
1、引入Requests库
import requests
2、引入Json库
import json
3、创建RunMain类,将接下来封装的方法写到此类里
class RunMain
4、GET请求方法
def send_get(self,url,data):
res = requests.get(url=url,params=data).json()
return json.dumps(res,indent=2,sort_keys=True)
5、POST请求方法
def send_post(self,url,data):
res = requests.post(url=url,data=data).json()
return json.dumps(res,indent=2,sort_keys=True)
6、封装GET/POST(运行时调用此方法,根据是'GET'或'POST'再去调用相应的请求方法)
def run_main(self,method,url,data=None):
if method == 'GET':
res = self.send_get(url,data)
elif method == 'POST':
res = self.send_post(url,data)
return res
7、程序入口
if __name__ == '__main__':
8、调用执行GET请求
run = RunMain()
url = 'http://httpbin.org/get'
data = {
'name': 'admin',
'age': 20
}
print(run.run_main('GET',url,data))
9、调用执行POST请求
url = 'http://httpbin.org/post'
data = {
'userid': 'admin',
'pwd': '123456',
'date': '20180725'
}
print(run.run_main('POST',url,data))
10、脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
类封装GET请求、POST请求
"""
# 引入Requests库
import requests
# 引入Json库
import json
class RunMain:
# GET请求
def send_get(self,url,data):
res = requests.get(url=url,params=data).json()
return json.dumps(res,indent=2,sort_keys=True)
# POST请求
def send_post(self,url,data):
res = requests.post(url=url,data=data).json()
return json.dumps(res,indent=2,sort_keys=True)
# 封装GET/POST
def run_main(self,method,url,data=None):
if method == 'GET':
res = self.send_get(url,data)
elif method == 'POST':
res = self.send_post(url,data)
return res
if __name__ == '__main__':
run = RunMain()
url = 'http://httpbin.org/get'
data = {
'name': 'admin',
'age': 20
}
print(run.run_main('GET',url,data))
url = 'http://httpbin.org/post'
data = {
'userid': 'admin',
'pwd': '123456',
'date': '20180725'
}
print(run.run_main('POST',url,data))
11、运行结果:
GET:
POST:
2、方式二
1、引入Requests库
import requests
2、引入Json库
import json
3、创建RunMain类,将接下来封装的方法写到此类里
class RunMain
4、GET请求方法
def send_get(self,url,data):
res = requests.get(url=url,params=data).json()
return json.dumps(res,indent=2,sort_keys=True)
5、POST请求方法
def send_post(self,url,data):
res = requests.post(url=url,data=data).json()
return json.dumps(res,indent=2,sort_keys=True)
6、封装GET/POST(根据是'GET'或'POST'再去调用相应的请求方法)
def run_main(self,method,url,data=None):
if method == 'GET':
res = self.send_get(url, data)
elif method == 'POST':
res = self.send_post(url, data)
return res
7、用于初始化类(调用RunMain类直接运行此方法,并执行run_main方法)
def __init__(self,method,url,data=None):
self.res = self.run_main(method,url,data)
8、程序入口
if __name__ == '__main__':
9、调用执行GET请求
url = 'http://httpbin.org/get'
data = {
'name': 'admin',
'age': 20
}
run = RunMain('GET',url,data)
print(run.res)
10、调用执行POST请求
url = 'http://httpbin.org/post'
data = {
'userid': 'admin',
'pwd': '123456',
'date': '20180725'
}
run = RunMain('POST',url,data)
print(run.res)
11、脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
类封装GET请求、POST请求2
"""
# 引入Requests库
import requests
# 引入Json库
import json
class RunMain:
# 初始化类
def __init__(self,method,url,data=None):
self.res = self.run_main(method,url,data)
# GET请求
def send_get(self,url,data):
res = requests.get(url=url,params=data).json()
return json.dumps(res,indent=2,sort_keys=True)
# POST请求
def send_post(self,url,data):
res = requests.post(url=url,data=data).json()
return json.dumps(res,indent=2,sort_keys=True)
# 封装GET/POST
def run_main(self,method,url,data=None):
if method == 'GET':
res = self.send_get(url, data)
elif method == 'POST':
res = self.send_post(url, data)
return res
if __name__ == '__main__':
url = 'http://httpbin.org/get'
data = {
'name': 'admin',
'age': 20
}
run = RunMain('GET',url,data)
print(run.res)
url = 'http://httpbin.org/post'
data = {
'userid': 'admin',
'pwd': '123456',
'date': '20180725'
}
run = RunMain('POST',url,data)
print(run.res)
12、运行结果:
GET:
POST:
本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!