在http協議中,來自客戶端的請求到達伺服器,並假定它是有效請求,並獲取一些數據和元數據。可以使用python請求模組中提供的各種功能來分析伺服器的回應。下麵的python程式在客戶端運行,並顯示伺服器發送的回應結果。
取得初步回應
在下面的程式中,requests
模組的get
方法從伺服器獲取數據,並以純文本格式列印。
import requests
r = requests.get('https://httpbin.org/')
print(r.text)[:200]
當運行上面的程式時,得到以下輸出-
<!DOCTYPE html >
<html lang="en">
<head>
<meta charset="UTF-8">
<title>httpbin.org</title>
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+
獲取會話對象回應
通過Session對象,可以在請求中保留某些參數。它還會在會話實例發出的所有請求中保留cookie。如果要向同一主機發出多個請求,則基礎TCP連接將被重用。
import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/yyyxxxx1425')
r = s.get('http://httpbin.org/cookies')
print(r.text)
運行上面示例代碼,得到以下結果:
{"cookies":{"sessioncookie":"yyyxxxx1425"}}
處理錯誤
如果由於伺服器處理請求時出現問題而引起一些錯誤,則python程式可以使用timeout
參數正常處理引發的異常,如下所示。程式將等待超時錯誤的定義值,然後引發超時錯誤。
requests.get('http://github.com', timeout=10.001)
上一篇:
Python Socket程式
下一篇:
Python HTTP伺服器