接口自动化-发送get请求-1
? ?接口自動化,離不開requests模塊,所以在時使用之前需要先行安裝,在cmd下使用命令pip install requests即可。
下面通過一個實例引入get方法的使用。
#coding:utf-8import requestsr = requests.get("https://blog.csdn.net/rhx_qiuzhi/") print r.status_code print r.text導入requests模塊后,使用get方法就能直接訪問url地址,r是response消息,是請求后返回的值,調用response里的status_code方法查看狀態碼,如果狀態碼是200,則表明這個借口訪問的服務器地址是正確的,但是不能說明功能是ok的,一般需要對相應的內容進行查看,r.text是返回的文本信息。
運行之后直接輸出到窗口中,絕對很不方便,將其保存下來進行查看,使用with open 命令
with open("code3.html", "wb") as code:code.write(r.content)或者也可以保存成“code3.zip”輸出到本工程下,如圖
上述是直接請求到rhx_qiuzhi的伯博客里的,現在如果進入到csdn博客中,通過參數的形式進行請求。
再次獲取百度首頁的url的信息
#coding:utf-8import requestsr = requests.get(" https://www.baidu.com") print r.status_code print r.textwith open("code3.html", "wb") as code:code.write(r.content)出現了亂碼的現象,因為百度首頁相應的內容是gzip壓縮了的,而不是txt的形式,那如何解決呢?
可以直接使用r.content方法,contetn會自動解碼gzip和deflate壓縮的格式
#coding:utf-8import requestsr = requests.get(" https://www.baidu.com") print "r.status_code",r.status_code print "r.encoding:",r.encoding print "r.headers:",r.headers print "r.cookies:",r.cookies print "r.content:",r.contentwith open("code3.html", "wb") as code:code.write(r.content)response的返回內容還有其它更多信息
-- r.status_code ??? #響應狀態碼
-- r.content?????????? #字節方式的響應體,會自動為你解碼 gzip 和 deflate 壓縮
-- r.headers????????? #以字典對象存儲服務器響應頭,但是這個字典比較特殊,字典鍵不區分大小寫,若鍵不存在則返回None
-- r.json()???????????? #Requests中內置的JSON解碼器
-- r.url????????????????? # 獲取url
-- r.encoding???????? # 編碼格式
-- r.cookies ? ? ? ??? # 獲取cookie
-- r.raw????????????? ? #返回原始響應體
-- r.text?????????????? #字符串方式的響應體,會自動根據響應頭部的字符編碼進行解碼
-- r.raise_for_status() #失敗請求(非200響應)拋出異常
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的接口自动化-发送get请求-1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: selenium2与python自动化6
- 下一篇: golang使用iota