磁盘中的旧文件中知道如何在Python3中搭建自带服务器。 我们可以使用Python3中的http.server模块轻松创建一个基本的Web服务器。
步骤1:创建服务器
要创建服务器,我们首先需要创建一个python文件并导入http.server模块。
import http.server
现在,让我们通过创建一个自定义的HTTP请求处理程序并将其传递给HTTPServer对象在服务器上创建一个监听端口。
PORT = 8000 # 默认监听8000端口号
handler = http.server.SimpleHTTPRequestHandler
httpd = http.server.HTTPServer(("", PORT), handler)
print("Serving at http://localhost:" + str(PORT))
httpd.serve_forever()
在上面的代码中,我们首先将端口号设置为8000并创建一个SimpleHTTPRequestHandler(默认请求处理程序)的实例。然后通过将此处理程序和端口传递给HTTPServer对象来创建HTTP服务器。最后,我们使用serve_forever()方法启动服务器。
步骤2:启动服务器
当然,为了启动我们刚刚创建的服务器,我们只需要运行上面提到的“创建服务器”代码。一旦启动,您将看到类似于以下内容的输出:
Serving at http://localhost:8000
示例1
我们将创建一个名为index.html的HTML文件,并将其添加到我们仅稍微修改的http.server例子中:
import http.server
PORT = 8000 # 默认监听8000端口号
class MyRequestHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
if self.path == '/':
self.path = '/index.html'
return http.server.SimpleHTTPRequestHandler.do_GET(self)
httpd = http.server.HTTPServer(("", PORT), MyRequestHandler)
print("Serving at http://localhost:" + str(PORT))
httpd.serve_forever()
以上示例中,我们定义了MyRequestHandler类,其中我们覆盖了do_GET()方法以在请求根时返回index.html文件。然后我们将此请求处理程序传递给HTTPServer对象,并侦听端口并使用serve_forever()方法启动服务器。
示例2
在这个演示环境中,我们将介绍如何使用Python内置的socket模块来搭建一个基本的Web服务器。以下是代码的实现:
import socket
HOST, PORT = '', 8000
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print('Serving HTTP on port %s ...' % PORT)
while True:
client_connection, client_address = listen_socket.accept()
request_data = client_connection.recv(1024)
print(request_data.decode('utf-8'))
http_response = b"""\
HTTP/1.1 200 OK
Hello, World!
"""
client_connection.sendall(http_response)
client_connection.close()
在这个示例中,我们使用socket模块初始化服务器并侦听在8000端口上的HTTP请求。它将打印接收到的请求数据,然后返回“Hello,World!”HTTP响应。
希望这些示例能够帮助您基于Python3创建更好的Web应用程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3之简单搭建自带服务器的实例讲解 - Python技术站