2013-07-26 46 views
3

我對Python比較陌生。我正在嘗試使用python運行一個簡單的服務器。我成功地做到了這一點,但是當我從瀏覽器運行服務器時,我想要一個諸如「Hello World」的消息。 當我運行程序並在頂部顯示「目錄列表/」時,它會發布我的目錄。有沒有辦法在此頁面上添加更多文字? 我該怎麼做?如何在SimpleHTTPServer中編寫消息

import sys 
import BaseHTTPServer 
from SimpleHTTPServer import SimpleHTTPRequestHandler 


HandlerClass = SimpleHTTPRequestHandler 
ServerClass = BaseHTTPServer.HTTPServer 
Protocol  = "HTTP/1.0" 

if sys.argv[1:]: 
port = int(sys.argv[1]) 
else: 
    port = 8000 
server_address = ('127.0.0.1', port) 

HandlerClass.protocol_version = Protocol 
httpd = ServerClass(server_address, HandlerClass) 

sa = httpd.socket.getsockname() 
print "Serving HTTP on", sa[0], "port", sa[1], "..." 
httpd.serve_forever() 

回答

2

當你實現這樣的的httpserver和瀏覽它的SimpleHTTPRequestHandlerdo_GET方法被調用。默認情況下,它將搜索您的腳本所在的目錄爲index.htmlindex.htm。如果沒有這樣的文件,則會顯示該目錄。

所以,如果你想顯示的內容,而不是目錄。您應該在您的目錄中添加一個文件index.htmlindex.htm。並寫入您想要顯示在文件中的內容。

欲瞭解更多請參考doc

0

您使用SimpleHTTPServer,雖然它的偉大,你將不得不使用CGI互動。這個答案並不能回答你確切的問題,但我相信它可以讓你輕鬆做到這一點。

在Python中,我們使用WSGI服務器與網站互動的方式。我們這樣做的原因是,因爲WSGI可以擴展並且可以處理比CGI或通用網關接口更多的處理。你可以看看@ WSGI,here

阿明Ronacher寫到這,他是兩個流行的Python框架,瓶和Werkzueg作者。如果你打算繼續學習Python web開發,你很快就會遇到這些框架。

我知道這並不回答每本身你的問題。但是,它可以讓你得到同樣的東西,並且會給你一個可以幫助你使用流行框架的基礎。

相關問題