在上一節(jié),使用了Python自帶的功能啟動了一個HTTP服務(wù)器,并通過瀏覽器瀏覽到了這個HTTP服務(wù)器提供的頁面。在瀏覽的過程中,實際上是瀏覽器向HTTP服務(wù)器發(fā)送了一個HTTP請求。
除了使用瀏覽器發(fā)送HTTP請求,通過代碼也可以向HTTP服務(wù)器發(fā)送請求,Python提供了相關(guān)的庫urllib,通過urllib包里面的request,可以向其他HTTP服務(wù)器發(fā)起請求。
from urllib import request response = request.urlopen('http://yifanck.cn') # 向慕課網(wǎng)官網(wǎng)發(fā)出請求 print(response) # ==> <http.client.HTTPResponse object at 0x000001377D631948>
請求成功的話,會得到一個HTTPResponse,它是來自HTTP服務(wù)器的一個回應(yīng),可以把這個回應(yīng)的一些信息打印出來。
狀態(tài)碼:
print(response.status) # ==> 200
狀態(tài)碼是一個三位整數(shù),在HTTP協(xié)議的標準里面,定義了很多狀態(tài)碼,其中200表示請求是正常的。
響應(yīng)頭:
?for k, v in response.getheaders(): print('{}: {}'.format(k, v))
將會輸出以下信息,這是HTTPResponse附帶的一些信息,包括服務(wù)端的服務(wù)器是什么、請求時間、內(nèi)容類型、內(nèi)容長度等等。
Server: openresty Date: Thu, 20 Aug 2020 08:16:07 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 376639 Connection: close Vary: Accept-Encoding Vary: Accept-Encoding X-Varnish: 280516221 281284036 Age: 29 Via: 1.1 varnish (Varnish/6.0) X-Cache: HIT from CS42 Accept-Ranges: bytes
請使用Python自帶的功能,啟動一個HTTP服務(wù)器,并使用urllib請求這個服務(wù)器,打印出狀態(tài)碼和回應(yīng)頭,并嘗試分析這些信息。
1. 請在本地編寫代碼練習(xí)
2. 通過python -m http.server啟動一個HTTP服務(wù)器
3. 通過urllib request請求對應(yīng)的地址
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報