Home  >  Article  >  Backend Development  >  Share an example tutorial on running Python scripts using CGI on IIS

Share an example tutorial on running Python scripts using CGI on IIS

零下一度
零下一度Original
2017-05-19 13:05:122698browse

This article mainly introduces the tutorial of running Python scripts in CGI mode on IIS server. Although the performance of IIS is not ideal... Friends who need it can refer to it

Due to exposure to Python Web development , I just happened to study the simplest CGI method. It is really troublesome to configure Python for web development under Windows, but it is quite easy to configure under Linux. Microsoft happened to have a technical article "Using Python Scripts" with IIS" introduces these contents. This article introduces two methods. One is to use the ASP engine to run Python scripts. This may require the use of ActivePython. Of course, ASP technology is outdated. I will simply do it today. Introduce how the CGI module operates.

Write a simple Python script that supports CGI (this article introduces version 3.2 of Python):

print("Status: 200 OK")
print("Content-type: text/html")
print() # 打印一行空白行,用于分隔HTTP Header和正文
 
print("<h1>Hello World!</h1>")

That’s it. You can guess that CGI redirects the standard output stream to HTTP output Stream to realize web page or data transmission.

Of course this cannot be run directly in IIS. We need to configure it, open the Internet Information Services (IIS) manager interface and select "Handler Mapping".

2015425161112268.png (373×139)

#Select "Add Module Mapping" on the right side of the next interface.

IIS7 Add module mapping

2015425161152223.png (572×250)

Assume that our Python 3.2 is installed in C:\Python32, then you can go down Fill in the picture like this:

2015425161216044.png (397×318)

Then click OK and select "Yes" in the dialog box that appears next.

2015425161237176.png (416×161)

Okay, our configuration is complete, restart IIS, and then try the code just now. Some people may complain that it is more troublesome to debug errors when writing web pages using CGI. For example, the following error is reported:

HTTP Error 502.2 - Bad Gateway

The specified CGI application did not return a complete A set of HTTP headers that produce erroneous behavior. The actual header it returns is "Traceback (most recent call last): File "E:\projects\test.py", line 3, in 4225fa317875f3e92281a7b1a5733569 1/0 ZeropisionError: pision by zero ".

In fact, we only need to introduce import cgitb; cgitb.enable() at the beginning, just like the following:

import cgitb; cgitb.enable()
print("Status: 200 OK")
print("Content-type: text/html")
print() # 打印一行空白行,用于分隔HTTP Header和正文
 
print("<h1>Hello World!</h1>")

In this way, if an error occurs, the error will be reported in a friendly way Output.

2015425161301420.png (610×391)

For form processing, you can refer to the import cgi module (cgi.FieldStorage). There are many introductions to this on the Internet, so I won’t go into details. Enjoy it!

【Related recommendations】

1. Detailed explanation of cgi writing data example code to text or database

2 . What is CGI? Detailed introduction to Python CGI programming

3. Using CGI module to create a simple web page tutorial example

4. Share an example tutorial of PythonCGI programming

5. Detailed sample code explaining XML and modern CGI applications

6. FastCGI process unexpectedly exited causing 500 error

The above is the detailed content of Share an example tutorial on running Python scripts using CGI on IIS. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn