1、pycharm,避免控制台輸出的json內容中文出現亂碼。
#注:亂碼為Unicode格式:\u6d4b\u8bd5。加入如下代碼后正確返回中文:測試
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、