一、http.client
get
1.建立连接
self.conn = http.client.HTTPConnection(host='10.10.10.188', port=8080)
2.发送请求
self.conn.request(method='GET', url='/WoniuSales-20180508-V1.4-bin/')
3.接收返回请求
resp = self.conn.getresponse()
4.对请求进行操作解析
resp.read().decode()
post
1.建立连接
conn = http.client.HTTPConnection(host='localhost',port=8088)
2.发送请求
header = {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
param = "username=admin&password=admin123&verifycode=0000"
conn.request(method="POST", url="/WoniuSales-20180508-V1.4-bin/user/login",
body=param, headers=header)
3.接收返回请求
mess=conn.getresponse()#括号填header中需要的信息Set-Cookie
print(mess.getheader('Set-Cookie'))#括号填header中需要的信息Set-Cookie
resp = mess.read().decode()
mess.status #获取状态码
例子
def login(self):
self.conn = http.client.HTTPConnection(host='10.10.10.188', port=8080)
self.conn.request(method='POST', url='/WoniuSales-20180508-V1.4-bin/user/login',
headers={'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
body='username=admin&password=admin123&verifycode=0000')
a = self.conn.getresponse()
a.read()
self.cookie = a.getheader('Set-Cookie')
二、requests
get
url = 'http://10.10.10.188:8080/WoniuSales-20180508-V1.4-bin/'
res = requests.get(url=url)
post
url = 'http://10.10.10.188:8080/WoniuSales-20180508-V1.4-bin/user/login'
body = {'username': username, 'password': password, 'verifycode': verifycode}
res = requests.post(url=url, data=body)
return res.cookies, res.text, res.status_code
注意点:
1.body= “username=admin&password=admin123&verifycode=0000” 用这种方法写body时headers必须加上 header =
{‘Content-Type’:‘application/x-www-form-urlencoded; charset=UTF-8’}2.cookie用法 res.cookies 这种获取的cookie是加在requests请求参数当中cookies res.headers.get(‘Set-Cookie’) ‘Cookie’:
self.cookie需要加在headers里面字典形式
3.requests每次的URL都必须加上端口,还有前面的地址
session
1.建立连接
self.session=requests.session()
2.获得有效的cookies
self.session.post(url=url,data=body)
注意:如果body是字符串形式需要添加headers
3.发送请求
res = self.session.post(url=url, data=body)
注意:初始化中获得cookies后续的请求可以不用添加cookies
接口文件上传操作
# 文件批次导入
def import_file(self, batchname):
url = 'http://10.10.10.188:8080/WoniuSales-20180508-V1.4-bin/goods/upload'
body = {'batchname': batchname}
files = {'batchfile': (open('./filespp.xls', 'rb'))}
res = self.session.post(url=url, data=body, files=files)
return res.text, res.status_code