requests模块是python的一个第三方模块,它是基于python自带的urllib模块封装的,用来发送http请求和获取返回的结果,操作很简单。
requests模块是第三方模块,不是python自带的,需要安装才可以使用。
pip requests install
发送get请求
1、不带参数、 返回结果为字符串类型:可以使用res.json() 来转成字典
import requests
url = ''www.baidu.com'
res = requests.get(url)
print(res.json())
2、 带参数的get请求
url3 = 'http://118.24.3.40/api/user/stu_info'
param= {'stu_name':'小黑'}
res = requests.get(url3,params=param)
print(res.json())
3、入参需要传入header
url6 = 'http://118.24.3.40/api/user/all_stu'
header = {'Referer':'http://api.nnzhp.cn/'}
res =requests.get(url6,headers=header)
print(res.json())
post请求
1、入参是字典类型的
url2 = 'http://118.24.3.40/api/user/login'
data = {'username':'niuhanyang','passwd':'aA123456'}
res = requests.post(url2,data=data)
print(res.json())
2、入参是json类型的 注意:使用requests的post方式时候,要传递json的值
url4 = 'http://118.24.3.40/api/user/add_stu'
data = {"name":"maomaochongzi",
"grade":"1年级",
"phone":"15801427140",
"sex":"男",
"age":"18",
"addr":"beijing"
}
res = requests.post(url4,json=data)
print(res.json())
3、入参需传递cookie
url5 = 'http://118.24.3.40/api/user/gold_add'
data = {'stu_id':15,'gold':200}
cookie = {'niuhanyang':'35b103503b9f428f1e8a2e258cb2a172'}
res = requests.post(url5,data=data,cookies = cookie)
print(res.json())
4、上传文件,入参为文件类型
url9 = 'http://118.24.3.40/api/file/file_upload'
data = {'file':open('魔鬼天使.mp3','rb')}
res = requests.post(url9,files = data)
print(res.json())
5、下载文件 二进制类型
url9 = 'http://qiniuuwmp3.changba.com/1084511584.mp3'
res = requests.post(url9)
with open('天数恶魔.p3',wb) as frw
fw.write(res.content)
6、如果url是https开头的 ,需要加verify = False
url8='https://aliimg.changba.com/cache/photo/855e5493-f018-44db-8892-c8660649327b_640_640.jpg'
res = requests.get(url8,verify = False)
with open('a.jpg','wb') as fw:
fw.write(res.content)
res.json() 必须返回的是json才可以用 返回的是字典
res.text 下载文件的话text就不行了 返回的是字符串
res.content 用来下载文件用的 返回的是二进制的
res.cookies 获取到返回的所有cookie
res.headers 获取到返回的所有herder