国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python探索之實現一個簡單的HTTP服務器

2020-01-04 16:24:54
字體:
來源:轉載
供稿:網友

Python標準庫中的BaseHTTPServer模塊實現了一個基礎的HTTP服務器基類和HTTP請求處理類。這在文章python探索之BaseHTTPServer-實現Web服務器介紹中進行了相關的介紹。然而,BaseHTTPServer模塊中并沒有定義相關的請求方法,諸如GET、HEAD、POST等。在BaseHTTPServer模塊的基礎上,Python標準庫中的SimpleHTTPServer模塊實現了簡單的GET、HEAD請求。

在該模塊中,它沿用了BaseHTTPServer模塊中實現的HTTPServer服務器,這里就不再贅述。而請求處理類則是繼承了BaseHTTPServer模塊中的BaseHTTPRequestHandler類。SimpleHTTPServer模塊實現了具有GET、HEAD請求方法的HTTP通信服務。根據文章python探索之BaseHTTPServer-實現Web服務器介紹中的介紹,只需要在請求處理類中定義do_GET()和do_HEAD()方法即可。

do_GET()

do_GET()方法的源碼如下:

def do_GET(self): """Serve a GET request.""" f = self.send_head() if f:  try:   self.copyfile(f, self.wfile)  finally:   f.close()

在這個方法中,它調用了send_head()方法來返回一個響應。send_head()方法會調用send_response()、send_header()、send_error()方法等設置響應報文等。

do_HEAD()

do_HEAD()方法的源碼如下:

def do_HEAD(self): """Serve a HEAD request.""" f = self.send_head() if f:  f.close()

do_HEAD()方法和do_GET()方法的實現類似。

測試例子

SimpleHTTPServer模塊還提供了一個測試函數。只需要在命令行中運行如下代碼:

python/51238.html">python/272959.html">python/284698.html">python SimpleHTTPServer.py # SimpleHTTPServer.py指代Python標準庫中的SimpleHTTPServer模塊,注意文件位置。

如果在本地環境中運行以上代碼,將會調用請求處理類的translate_path和list_directory方法展示一個文件目錄。
然后在瀏覽器中訪問127.0.0.1:8000即可查看SimpleHTTPServer.py文件所在目錄下的所有文件。

總結

以上就是本文關于Python探索之實現一個簡單的HTTP服務器的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克苏市| 怀来县| 闸北区| 句容市| 永仁县| 阳山县| 阜新| 莱州市| 呼图壁县| 内黄县| 潮州市| 毕节市| 岐山县| 鹤壁市| 博野县| 城固县| 南通市| 平定县| 巴里| 广灵县| 清水县| 夏邑县| 云林县| 苗栗县| 清镇市| 如皋市| 桦甸市| 米林县| 兴山县| 湖南省| 通榆县| 鹤峰县| 九龙县| 大名县| 太康县| 镇巴县| 嘉峪关市| 延边| 昭苏县| 灵台县| 承德市|