Python requests庫是一個基於HTTP庫的第三方庫,將Python語言的HTTP請求處理和處理HTTP響應的功能進行了封裝,使得HTTP請求更加簡單方便。
一、安裝requests庫
1.安裝方式:
pip install requests
2.驗證是否安裝成功:
import requests
print(requests.__version__)
如果安裝成功,則會輸出requests庫的版本號。
二、HTTP請求
1.GET請求
在requests庫中,使用get函數來實現GET方法。
import requests
url="http://www.example.com/"
response=requests.get(url)
print(response.text)
該代碼實現了向http://www.example.com/發送GET方法的請求,並輸出HTTP響應的文本內容。
2.POST請求
在requests庫中,使用post函數來實現POST方法。
import requests
url="http://www.example.com/"
data={"key1":"value1","key2":"value2"}
response=requests.post(url,data=data)
print(response.text)
該代碼實現了向http://www.example.com/發送POST方法的請求,並輸出HTTP響應的文本內容。
三、HTTP響應
在requests庫中接收HTTP響應,可以通過response對象中的屬性來實現。
1.響應內容
通過response的text屬性,可以獲取HTTP響應的文本內容。
import requests
url="http://www.example.com/"
response=requests.get(url)
print(response.text)
該代碼實現了向http://www.example.com/發送GET方法的請求,並輸出HTTP響應的文本內容。
2.響應狀態碼
通過response的status_code屬性,可以獲取HTTP響應的狀態碼。
import requests
url="http://www.example.com/"
response=requests.get(url)
print(response.status_code)
該代碼實現了向http://www.example.com/發送GET方法的請求,並輸出HTTP響應的狀態碼。
3.響應頭
通過response的headers屬性,可以獲取HTTP響應頭信息。
import requests
url="http://www.example.com/"
response=requests.get(url)
print(response.headers)
該代碼實現了向http://www.example.com/發送GET方法的請求,並輸出HTTP響應的頭信息。
四、異常處理
requests庫中提供了多種異常處理方式,其中常用的一個異常是requests.exceptions.RequestException。
import requests
try:
response=requests.get("http://www.unknown.com/")
response.raise_for_status()
except requests.exceptions.RequestException as e:
print(e)
該代碼實現了向http://www.unknown.com/發送GET方法的請求,如果發生錯誤,將列印錯誤信息。
五、HTTPS請求
requests庫中同樣支持SSL/TLS驗證,這是一種重要的保護機制,可以使用verify參數來進行設置。
import requests
url="https://www.example.com/"
response=requests.get(url,verify=True)
print(response.text)
該代碼實現了向https://www.example.com/發送GET方法的請求,並輸出HTTP響應的文本內容。
六、設置請求頭
請求頭是HTTP請求中的一部分,用於向伺服器傳遞一些額外的信息。在requests庫中可以使用headers參數來設置請求頭。
import requests
url="http://www.example.com/"
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"}
response=requests.get(url,headers=headers)
print(response.text)
該代碼實現了向http://www.example.com/發送GET方法的請求,並設置了請求頭,輸出HTTP響應的文本內容。
七、文件上傳
在requests庫中可以使用post函數進行上傳文件操作。
import requests
url="http://www.example.com/"
files={"file":open("abc.txt","rb")}
response=requests.post(url,files=files)
print(response.text)
該代碼實現了向http://www.example.com/發送POST方法的請求,並上傳名為abc.txt的文件,輸出HTTP響應的文本內容。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/188353.html