如下是我自己公司的一个请求,学习过程顺便记录下,都是白话语言,不那么专业,不喜勿喷!
首先看下图,post请求一般需要填写参数url, data(一般是表格类型的参数,如我们智联驾驶APP登录的参数),json(一般就是json格式的参数,如我们autogo云平台登录的参数),**kwags(一般是动态参数,有的需要填写,有的接口不需要填写,一般是headers参数)
下图解释dumps函数,json.dumps()可以将字典转化成字符串格式
dumps可以将字典转化成字符串,一般接口返回的都是json格式,我们可以将它转化成字符串再一 一分析和断言
转化过程中,用倒dumps函数,其里边的ensure_ascii=False(即输出格式不为ascii语言), 可以将ASCII语言转化成中文
indent可以将一整个json字符转变为整个的格式输出来
如下是实操,以我们PC平台登录为例说明
#后边需要用到request库
import requests
#后边需要用到request库
import json(后边需要用到json库# 我们的请求参数是字典格式,但是python post请求需要的是json格式的,所以请求过程中需要将字典转化为json字符串data ={"email":"xxx","password":"xxx"}
headers = {
'Connection': 'keep-alive',
'Content-type': 'application/json'
}
r = requests.post(
url='http://xxxxx',
data=json.dumps(data),#dump可以将字典转化为字符串
headers=headers,
timeout=5 #timeout主要是限制请求响应时间,比如此处设置的5,当实际请求大于5S时候,就会报错
)
print r.status_code
print r.text
print r.json()
text = r.json()
print (json.dumps(text,indent=True,ensure_ascii=False))
执行结果如下
超时时候,报错如下,实际程序是没错的,只是超时了