2015-09-19 69 views
0

我剛剛在Python中製作了一個服務器(僅用於localhost),以便由CGI執行並嘗試我的Python腳本。這是文件的執行服務器上的代碼:如何在CGI服務器中配置索引文件?

#!/usr/bin/env python 
#-*- coding:utf-8 -*- 

import BaseHTTPServer 
import CGIHTTPServer 
import cgitb 
cgitb.enable() ## This line enables CGI error reporting 

server = BaseHTTPServer.HTTPServer 
handler = CGIHTTPServer.CGIHTTPRequestHandler 
server_address = ("", 8000) 
handler.cgi_directories = ["/"] 

httpd = server(server_address, handler) 
httpd.serve_forever() 

當我在服務器訪問某些腳本(http://127.0.0.1:8000/index.py)是沒有問題的,但是當我訪問服務器(http://127.0.0.1:8000/)它表明:

Error response 

Error code 403. 

Message: CGI script is not executable ('//'). 

Error code explanation: 403 = Request forbidden -- authorization will not help. 

這就像如果索引文件沒有被設置爲默認的文件訪問文件夾,而不是特定的文件的時候訪問...

我希望能夠在我訪問http://127.0.0.1/來訪問http://127.0.0.1/index.py。謝謝你的一切。

回答

0

Python的內置HTTP服務器是非常基本的,所以它不包含這樣的功能。但是,您可以通過繼承CGIHTTPRequestHandler來實現它,可能會替換is_cgi函數。

0

如果使用handler.cgi_directories = ["/cgi"],則可以在「/」中放置index.html文件。當然,如果你想要一個cgi腳本index.py作爲默認值,你可以使用index.html轉發...

相關問題