2

CGIスクリプトをテストするために、Windows環境で非常に単純なPythonベースのサーバーを実行したいと考えています。これをWindowsで実行したいのですが、最終的にはUNIX環境で実行します。これまでのところ、私は単純なサーバーと単純なプログラムを持っています。サイトにアクセスすると、ソースに何も表示されていない空白のページが表示され、何が起こっているのか理解できません。

サーバ

from http.server import HTTPServer, CGIHTTPRequestHandler

class Handler(CGIHTTPRequestHandler):
    cgi_directories = ["/cgi-bin"]

PORT = 8080

httpd = HTTPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()
httpd.serve_forever()

アプリ:

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

import cgi, cgitb
form = cgi.FieldStorage() 

# Get data from fields
first_name = form.getvalue('first_name')
last_name  = form.getvalue('last_name')

print ("Content-type:text/html\r\n\r\n")
print ("<html>")
print ("<head>")
print ("<title>Hello - Second CGI Program</title>")
print ("</head>")
print ("<body>")
print ("<h2>Hello %s %s</h2>" % (first_name, last_name))
print ("</body>")
print ("</html>")

Webブラウザーでプログラムにアクセスすると、ファイルの名前であるダウンロード可能な出力が表示されます。ファイルは実行されたようですが、有効なWebサイトを取得していません。私は何が間違っているのですか?

4

1 に答える 1

4

もちろん、投稿したとおりに答えがわかりました...\n\nではなく、を使用する必要があり\r\n\r\nます。

print ("Content-Type: text/html\n\n")
于 2013-01-04T16:17:56.357 に答える