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

首頁 > 編程 > Python > 正文

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

2020-02-16 10:31:38
字體:
來源:轉載
供稿:網友

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 SimpleHTTPServer.py # SimpleHTTPServer.py指代Python標準庫中的SimpleHTTPServer模塊,注意文件位置。

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

總結

以上就是本文關于Python探索之實現一個簡單的HTTP服務器的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:Python探索之SocketServer詳解、Python編程之Re模塊下的函數介紹等,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郑州市| 西城区| 确山县| 上犹县| 湖州市| 筠连县| 胶州市| 巴楚县| 石阡县| 班玛县| 西宁市| 琼结县| 清涧县| 福泉市| 隆化县| 房产| 汶川县| 泸定县| 澎湖县| 华安县| 龙胜| 桃园县| 平和县| 汝南县| 通河县| 德昌县| 广水市| 兴宁市| 南岸区| 阿巴嘎旗| 永新县| 星座| 梅河口市| 台北市| 炉霍县| 正宁县| 五河县| 全南县| 潜江市| 叶城县| 锡林郭勒盟|