2017-07-26 83 views
0

我正在嘗試構建一個使用python來託管網站的Web服務器。 但我的代碼中有一個缺陷,我似乎無法找到答案。 該缺陷是打開Web服務器腳本的同一目錄中的文件。 下面是代碼:如何讓我的Python Web服務器打開它的目錄中的文件

import socket 

host, port = '', 80 
website = ''' 
<a href='README.txt'>Read me file</a> 
''' 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind((host, port)) 
print('SERVER STARTED ON PORT {}'.format(port)) 
s.listen(1) 
while True: 
    clientconnection, clientaddress = s.accept() 
    r = clientconnection.recv(1024) 
    print(r)  
    response = """ 
HTTPS/1.1 200 OK 

{} 
""".format(website) 
    clientconnection.sendall(bytes(response.encode())) 
    clientconnection.close() 

的鏈接工作到其他網站。 任何想法? Thx提前

+0

python 2中有這樣一個巧妙的技巧:'python -m SimpleHTTPServer',它將提供文件夾中的所有文件。在python 3中:'python3.6 -m http.server' –

+0

我建議使用Flask或Django。他們會爲你處理很多這種東西。 – dashiell

+0

謝謝,我會珍惜這些信息太多 – ariel2012

回答

0

有一種叫SimpleHTTPServer。正如拉斐爾巴羅斯所說。您還應該創建一個標題爲:index.html的文件。如果目錄中沒有index.html文件,則會列出所有文件和 目錄。

+0

謝謝,但我想自己做 – ariel2012

+0

嗯,我不太確定。這需要很多時間。還有一些叫做BaseHttpServer的東西。有了這個,你可以做更多的事情(設置標題等)。正如我所說的,使用'SimpleHTTPServer'或'BaseHttpServer'會爲你解決問題。但我很遺憾不知道自己做這件事是否可能,因爲你沒有這些功能。 – SunleafStudios

+0

你是什麼意思功能 – ariel2012

相關問題