Python-requests模块
python发送请求时,可以用requests模块,这个模块不是内置模块,需要安装一下。pip install requests
本文所有接口均为假接口,实际不存在,只为了举例。
内容概要:
1、发送get请求:用requests.get(),括号里写上url和参数。如req = requests.get(url,params=data)
2、发送post请求:用requests.post(),括号里写上url和参数。req = requests.post(url,data)
3、入参为json格式:参数这一项写成"json=xxx",如req = requests.post(url,json=data)
4、添加cookie:在括号里加一项cookies=xxx,如req = requests.post(url,data,cookies=my_cookie)
5、添加header:同样的,括号里加一项headers=xxx,如req = requests.get(url,headers = my_header)
6、上传文件:括号里加一项files=xxx,如req = requests.post(url,files=data)
7、下载文件:url是文件的地址,req = requests.get(url)。以图片为例,然后fw =open(xxx.jpg','wb'),fw.write(req.content)
1、发送get请求
接口文档:
描述:获取学生信息
url : http://i.cnblogs.com/api/user/stu_info
请求方式:get
请求参数:stu_name,必传,string类型
返回参数:error_code,name,num,sex,phone,address,grade
我们现在用Python请求这个接口:
发送get请求时,用requests.get(),括号里写上url和参数。
接口的返回结果存在req里,可以返回不同的格式,常用的有:
req.json():返回字典格式
req.text():返回string类型,json串
req.content():返回二进制类型
2、发post请求
发post请求和get一样。
接口文档:
描述:登录
url : http://i.cnblogs.com/api/user/login
请求方式:post
请求参数:(1)username,必传,string类型;(2)passwd,必传,string类型
返回参数:error_code,userId,sign,log_time
我们现在用Python请求这个接口:
发送post请求时,用requests.post(),括号里写上url和参数。
3、入参是json格式的post请求
接口文档:
描述:添加学生信息
url : http://i.cnblogs.com/api/user/add_stu
请求方式:post
请求参数:入参是json格式
参数名 | 是否必填 | 类型 | 说明 |
name | 是 | string | 学生姓名 |
grade | 是 | string | 班级 |
phone | 是 | int | 电话 |
sex | 否 | string | 性别,不传默认为男 |
age | 否 | int | 年龄,不传默认为18 |
addr | 否 | string | 地址,不传默认为北京市海淀区 |
返回参数:error_code,userId,sign,log_time
入参是json格式时,requests.post(),括号里写上url和参数,参数位置写成json=xxx即可
4、添加cookie、header都类似,看本文最开头的概要即可。
5、上传文件
接口文档:
描述:获取学生信息
url : http://i.cnblogs.com/api/file/file_upload
请求方式:post
请求参数:file,必传,file类型
返回参数:error_code,msg
传文件时时,requests.post(),括号里写上url和参数,参数位置写成file=xxx
假如本地同一目录下有个文件是study.txt,我们上传这个文件。
如果上传的是图片,要用二进制方式的打开, data = { 'file':open(r'D:\132_96_2.jpg','rb')}
6、下载文件
下载文件只是多了一步,要把下载的文件存一下
比如我们要下载这张图:http://www.baby611.com/pic/userup/1205/1521332SZ1.jpg