python+request 常用基礎學習筆記


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、

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM