2017-04-15 45 views
0

我想在本地網絡上啓動一個簡單的目錄服務器,但我收到此錯誤http.server不是從python.org上

錯誤響應

錯誤代碼的網頁服務如實例:501

消息:不支持的方法('GET')。

錯誤代碼說明:HTTPStatus.NOT_IMPLEMENTED - 服務器沒有 支持此操作。

這是在https://docs.python.org/3/library/http.server.html給出的例子如果我從命令行運行它,它的工作原理python3 -m http.server。我需要一段時間來控制這臺服務器,所以我需要打開它了一會兒,把它關掉自動

from http.server import BaseHTTPRequestHandler, HTTPServer 




def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler): 
    server_address = ('0.0.0.0', 8000) 
    httpd = server_class(server_address, handler_class) 
    httpd.serve_forever() 

回答

1

,然後回答是在documentation你鏈接到:

HTTPServer絕給予RequestHandlerClass上 實例化,其中該模塊提供了三種不同的變體:

class http.server.BaseHTTPRequestHandler(request, client_address, server)

該類用於處理到達 服務器的HTTP請求。 本身,它不能響應任何實際的HTTP請求;其 必須被分類以處理每個請求方法(例如,GETPOST。 ...

對於你的情況,你應該使用http.server.SimpleHTTPRequestHandler代替:

class http.server.SimpleHTTPRequestHandler(request, client_address, server)

該類從當前目錄提供的文件及以下,直接 映射的目錄結構到HTTP請求。

相關問題