1、pycharm,避免控制台输出的json内容中文出现乱码。
#注:乱码为Unicode格式:u6d4bu8bd5。加入如下代码后正确返回中文:测试
get_result = r.json() print json.dumps(get_result, encoding="utf-8", ensure_ascii=False)
2、接口性能响应时间的获取(测试接口慢请求)
requests.post(url=url, data=data, headers=headers, verify=False, timeout=15) #请求头中加入timeout print ("请求此接口的响应时间:"+str(r.elapsed.total_seconds())) #r.elapsed.total_seconds() 获取接口的响应时间
3、响应内容
r.raw #返回原始响应体,也就是urllib的renponse对象,返回结果示例:<urllib3.response.HTTPResponse object at 0x1097732d0> r.headers #已字典对象存储服务器响应头,此字典比较特殊,字典键不区分大小写,若键不存在则返回None r.text #字符串方式的响应体,返回的是文本,type 是'unicode' r.json() #request中内置的json解码器,返回的是json格式数据,type 是”dict" r.content #字节方式的响应体(也就是二进制的数据),想获取图片、文件等,则可使用此方式,type 是 “str" r.raise_for_status() #失败请求(非200响应)跑出异常,若是200,则返回None。 r.request #返回请求的类型,post或者get等 r.url #获取请求的URL a = (r.text,r.encoding) #获取的type 是 ”tuple" print a r.encoding #获取响应的编码方式。注:通过r.encoding获取的若不是utf-8的格式,可使用 r.encoding='utf-8'设定
4、获取响应头中的某个值
print r.headers #可获取到全部的headers中内容,因返回的是字典,所以可直接取值 print r.headers['Content-Type'] #获取某个请求头中的参数值内容
5、获取响应体中的某个值,用来做测试结果的校验
r.json() #已字典的格式,获取到reponse内容 r.json()["msg"] #获取到reponse中的msg值 r.json()["data"]["uuid"] #获取到reponse中的data下uuid的值。注:自己获取什么值,根据r.json()的返回字典内容层级,依次查找值。
6、