1、requests模块的作用
requests请求的底层实现其实就是urllib3
,唯一的一个非转基因的 Python HTTP 库
,提供各种类型的请求方式,如:get、post、delete、put。。。等等
2、requests模块的安装以及使用
在cmd命令行下输入:pip install requests
,安装成功后import requests
进行使用
3、为什么要对requests重新封装?
原因是:接口的请求方式有多种,如:get、post、delete、put。。。等等,所以把他们封装成为一个类,方便后面使用!
1.方式一:需要获取登录接口的cookies才能保持会话(不推荐使用)
import requests
class HttpRequests:
'''把get和post封装成为一个类'''
def __init__(self,method,url,data = None):
self.method = method
self.url = url
self.data = data
def request(self,cookies=None):
if self.method.upper()=='GET':
res = requests.get(self.url,params=self.data,cookies=cookies)
elif self.method.upper()=='POST':
res = requests.post(self.url,data=self.data,cookies=cookies)
else:
print('Un-support method !!!')
return res
if __name__=="__main__":
res1 = HttpRequests('post','http://test.xxxxxxx/futureloan/mvc/api/member/login',{'mobilephone':'13707790000','pwd':'123456','regname':'xiaochen'}).request()
print(res1.text)
res2 = HttpRequests('post','http:/test.xxxxxxx/futureloan/mvc/api/member/recharge',{'mobilephone':'13707790000','amount':'10'}).request(cookies=res1.cookies)
print(res2.text)
2.方式二:使用requests.sessions.Session() ,创建一个Session会话,在同一个 Session 实例发出的所有请求之间保持 cookies(推荐使用)
import requests
class HttpRequests:
'''把get和post封装成为一个类'''
def __init__(self):
self.session = requests.sessions.Session() #创建一个session会话,保持 cookies
def request(self,method,url,data=None): #data给None,因为get是通过params传参,post是通过data传参
if method.upper()=='GET':
res = self.session.request(method,url,params=data)
elif method.upper()=='POST':
res = self.session.request(method,url,data=data)
else:
print('Un-support method !!!')
return res
def close_session(self):
self.session.close()
if __name__=="__main__":
seseion = HttpRequests()
res1 = seseion.request('post','http://http:/test.xxxxxxx/futureloan/mvc/api/member/login',{'mobilephone':'13707790000','pwd':'123456'})
print(res1.text)
res2 = seseion.request('post','http://http:/test.xxxxxxx/futureloan/mvc/api/member/recharge',{'mobilephone':'13707790000','amount':'10'})
print(res2.text)