The first Python Web program in getting started with Python-a simple Web Server
Today, let's talk about the specific implementation of the Python Web service: the first Python Web program-a simple Web server.
Unlike other backend Web languages, the Python language requires you to write your own Web servers.
If you use some existing frameworks, skip this step;
If you use Python CGI programming, you can skip this step;
Use Python to create the simplest web server. Use the Python package to create a simple web server. In DOS, cd to the path to prepare the root directory of the server. Enter the following command:
Python-m Web server module [port number, default value: 8000]
For example:
Python-m SimpleHTTPServer 8080
Then you can enter
Http: // localhost: Port Number/path
To access server resources.
For example:
Http: // localhost: 8080/index.htm(of course, you must create your own index.htm file)
Other machines can also be accessed through the IP address of the server.
There are three types of "Web Server Module:
BaseHTTPServer: provides basic Web services and processor classes, including HTTPServer and BaseHTTPRequestHandler.
SimpleHTTPServer: SimpleHTTPRequestHandler class that executes GET and HEAD requests.
CGIHTTPServer: contains the class for processing POST requests and executing CGIHTTPRequestHandler.
Custom Handler
Google provides a service on http://chart.apis.google.com that automatically converts form data to charts. However, this service is difficult to interact with, because you need to put data as a query in the URL. This program provides a better interface for a data format: given a small text segment, it will call the chart server to generate a QR code (QR code), which is a lattice matrix for encoding text. This image can be captured by your mobile phone camera and interpreted as a string, such as a URL, which saves you the trouble of typing a URL on a small mobile phone keyboard.
The complete program is as follows:
Import OS # The OS module in the Python standard library contains the general operating system function import re # introduce the regular expression object import urllib # It is used to encode the URL from BaseHTTPServer import HTTPServer, baseHTTPRequestHandler # import HTTP processing-related modules # custom processing program for processing HTTP request class TestHTTPHandler (BaseHTTPRequestHandler): # process GET request def do_GET (self ): # templateStr = '''
% S
''' # Compile the regular expression into the Pattern object pattern = re. compile (R'/qr \? S = ([^ \ &] +) \ & qr = Show \ + QR ') # use Pattern to match the text and obtain the matching result. If the match fails, None match = pattern is returned. match (self. path) qrImg = ''if match: # Use Match to obtain the group information qrImg ='
'+ Urllib. unquote (match. group (1) self. protocal_version = 'HTTP/1.1 '# sets the Protocol version self. send_response (200) # Set the response status code self. send_header ("Welcome", "Contect") # sets the Response Header self. end_headers () self. wfile. write (templateStr % qrImg) # output response content # Start the service function def start_server (port): http_server = HTTPServer ('', int (port), TestHTTPHandler) http_server.serve_forever () # Set the OS to listen continuously and receive requests. chdir ('static ') # change the working directory to the static directory start_server (8000) # Start the service and listen to port 8000 for access
Here I save the above Code as: C: \ Python \ webserver \ server1.py, using UTF-8 encoding;
Open the command line and switch to the C: \ Python \ webserver \ directory,
Run: python server1.py
A firewall warning may pop up. Click "Allow access.
Access in the browser and view the effect. Open the browser and enter http: // localhost: 8000/. The result is as follows:
Enter a URL in the text box, such as (http://blog.csdn.net/testcs_dn), Click Show QR, will generate a picture of the QR code
Scan this QR code and check it out.
Summary
Unlike other backend Web languages, the Python language requires you to write your own Web servers;
However, compared with the Go language, Python is somewhat difficult to use.
Here is just a simple example of writing and running. Let's look at the effect.
Although Python has been known for a long time, it has only recently been a real contact. There are some mistakes in this article. If you have a better method, please give me more advice!