1. 程式人生 > >python介面自動化1-傳送get請求 request

python介面自動化1-傳送get請求 request

https://www.cnblogs.com/yoyoketang/p/6810643.html

 

 

準備工作:

1、下載python安裝。

  https://www.python.org/downloads/release/python-351/

 

 

一路next,安裝成功後

搜尋欄輸入“idle”就可以編寫Python了,或者開啟cmd命令頁面,輸入Python也可以進入Python Shell模式,如果提示Python不是內部或外部命令,把Python的安裝目錄新增到系統環境變數的Path下面,開啟計算機右鍵“屬性-高階-環境變數=系統變數的Path中新增” ;C:\Python35”(注意儲存後需要關閉命令列頁面後重啟才能正常)

 

安裝pip

最新的Python安裝包已經集成了pip,可以到Python安裝目錄 C:\Python35\scripts下檢視是否有pip.exe或pip.exe檔案。如果有可以直接在Windows命令提示符下輸入pip或pip3,如果輸入提示內部/外部命令,則可以手動將C:\Python35\Scripts\目錄新增到系統環境變數下的Path下面,重新開啟cmd命令驗證

 

一、環境安裝

1.用pip安裝requests模組

>>pip install requests

二、get請求

1.匯入requests後,用get方法就能直接訪問url地址,如:http://www.cnblogs.com/yoyoketang/,看起來是不是很酷

2.這裡的r也就是response,請求後的返回值,可以呼叫response裡的status_code方法檢視狀態碼

3.狀態碼200只能說明這個介面訪問的伺服器地址是對的,並不能說明功能OK,一般要檢視響應的內容,r.text是返回文字資訊

#coding:utf-8
import requests

#請求部落格首頁

r=requests.get('http://www.cnblogs.com/yoyoketang/')

print (r.status_code)
print (r.text)


               

三、params

1.再發一個帶引數的get請求,如在部落格園搜尋:yoyoketang,url地址為:http://zzk.cnblogs.com/s/blogpost?Keywords=yoyoketang

2.請求引數:Keywords=yoyoketang,可以以字典的形式傳參:{"Keywords": "yoyoketang"}

3.多個引數格式:{"key1": "value1", "key2": "value2", "key3": "value3"}

 

四、content

1.百度首頁如果用r.text會發現獲取到的內容有亂碼,因為百度首頁響應內容是gzip壓縮的(非text文字)

2.如果是在fiddler工具亂碼,是可以點選後解碼的,在程式碼裡面可以用r.content這個方法,content會自動解碼 gzip 和deflate壓縮

 

五、response

1.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響應)丟擲異常