urllib模块和requests模块的使用

from urllib import request
from urllib import parse
import requests
import json
#get请求
url='http://api/user/stu_info'
data={"stu_name":"xiaohei"}
tmpdata=parse.urlencode(data)#将数据变为k=V
tmpurl=url+'?'+tmpdata#接口和参数拼接
res=request.urlopen(tmpurl)#请求接口
read_res=res.read().decode()#通过read方法获取返回值,返回结果为bytes类型,
# 通过decode()方法转换成str
json_res=json.loads(read_res)#通过json将字符串转成字典
print(json_res)

#post请求
url='http://api/user/login'
data={"username":"niuhanyang","passwd":"aA123456"}
tmpdata=parse.urlencode(data)
res=request.urlopen(url,tmpdata.encode())#post请求参数1为接口地址,参数2要求bytes
print(res.read().decode())

#用requests模块直接进行get请求
url='http://api/user/stu_info'
data={"stu_name":"xiaohei"}
res=requests.get(url,data).text#text方法返回的是字符串格式的返回值
json_res=requests.get(url,data).json()#json方法返回的是字典格式的返回值

#用requests模块直接进行post请求
url='http://api/user/login'
data={"username":"niuhanyang","passwd":"aA123456"}
res=requests.post(url,data).text
json_res=requests.post(url,data).json()

#用requests模块直接进行post请求,入参是json类型
url='http://api/user/add_stu'
data={"name":"dsx123","grade":"一班","phone":13755555555}
res=requests.post(url,json=data).json()#接口要求入参是json类型,可以通过在post请求中指定json
res=requests.post(url,json=data).text
print(res)

#用requests模块直接进行post请求,同时添加cookie以及身份验证
cookie={"niuhanyang":"f5e7928c3e3e9afb42f340d585b8df20"}
url='http://api/user/gold_add'
data={"stu_id":1,"gold":100000}
res=requests.post(url,data,cookies=cookie).text#通过cookies进行cookie的添加

#用requests模块直接进行get请求,同时添加header信息的
header={"Referer":"http://api.nnzhp.cn/"}
url='http://api/user/all_stu'
res=requests.get(url,headers=header).text
print(type(res))

#传一个文件到服务器上
url='http://api/file/file_upload'
res=requests.post(url,files={"file":open('a.txt')}).text#通过file参数将文件传到服务器上

猜你喜欢

转载自www.cnblogs.com/wanglun1101/p/12452161.html