Python 3 Webserver简介(附代码)

505 阅读5分钟

Python 3 Webserver

Python 3 Webserver简介

Python 3 webserver有两种方法可以在Python中建立一个web服务器。Python带有一个内置的Web服务器。然而,我们可以用独特的功能来建立我们的Web服务器。在这种情况下,只有我们的本地网络可以访问Web服务器。可能会使用Localhost或不同的网络主机。通过VPN,我们可能将其提供给世界上不同地区的人。

什么是 Python 3 Webserver?

  • 我们可以用python中的一行代码启动一个Web服务器。几乎在任何地方都可以找到网络服务器。
  • 在从事所有语言的工作时,我们都要与Web服务器打交道,不管我们是哪种类型的开发者。
  • 也许我们正在为一个后端服务构建一个API服务器,或者只是为网站配置一个Web服务器。Python可以帮助我们构建apache的混乱局面。我们所需要的就是PC上的Python。
  • Python包括一个内置的模块,叫做SimpleHTTPServer,一个支持请求处理程序的简单HTTP服务器。
  • 网络服务器的一个好处是,我们不需要安装或配置任何东西。唯一需要的是安装Python。
  • Python标准库有一个内置的网络服务器,可以用来与网络客户端和服务器通信。这个端口可以访问网络服务器,可以通过编程指定。
  • 尽管它不是一个能够解析各种文件类型的全功能网络服务器,但它将解析Html的文件并返回适当的响应代码。
  • Python 3 网络服务器是一个运行在我们计算机上的进程,它执行两个功能。
  • 它在一定的端口号上监听传入的HTTP请求,并对用户做出响应。我们的请求将被这个Web服务器截获,它将响应我们网站主页的HTML。
  • 最后,浏览器将该HTML显示在我们的屏幕上,我们可以看到。随后与主页的每一次接触都会触发一个与第一次相同的新请求和响应。
  • 为了澄清,网络服务器是一个运行在系统上的软件进程,它接收HTTP请求。
  • 网络服务器模块包括一个支持正常GET和HEAD请求的服务器。此外,SimpleHTTPServer模块可以用来从我们系统的任何目录中创建一个Web服务器。要设置这个HTTP服务器,我们只需要在终端输入一条命令。
  • 在 Python 3 中,Python HTTP 服务器模块已经被 Python http.server 模块取代。
  • 网络服务器是一个简单而有用的Python模块,用于各种用途,最常见的是为一个目录中的文件提供服务。它还消除了安装和配置跨平台网络服务器的耗时任务。

如何创建Python 3 Webserver?

下面是创建Python 3网络服务器的步骤,具体如下。我们通过使用http.server来创建我们的Python Web服务器。

  • 为了启动Web服务器,我们需要在命令行界面上运行以下命令。该命令将在端口号为8080的地方打开网络服务器。我们也可以通过打开浏览器来检查这一点。

python -m http.server

Python 3 Web Server 1

  • 我们可以使用我们的系统IP地址从网络上访问网络服务器。这也被称为默认服务器,所以我们可以用它来下载系统中的文件。
  • 为了启动网络服务器,我们需要创建以下代码。创建一个网络服务器需要使用HTTP协议。HTTP协议默认有一个 "get "请求。如果文件被定位,响应代码将是200。从8080端口开始,服务器将接受标准的网络浏览器请求。下面的代码显示了启动网络服务器的情况,如下。

代码

from http.server import BaseHTTPRequestHandler, HTTPServer
import time
hName = "localhost"
Port = 8080
class wser (BaseHTTPRequestHandler):
def do_GET (self):
self.send_response (200)
self.send_header ("Content-type", "text/html")
self.end_headers ()
self.wfile.write (bytes ("<html><head><title>https://pythonbasics.org</title></head>", "utf-8"))
self.wfile.write (bytes ("<body>", "utf-8"))
self.wfile.write (bytes ("<p>Web server</p>", "utf-8"))
self.wfile.write (bytes ("</body></html>", "utf-8"))
if __name__ == "__main__":
wser = HTTPServer ((hName, Port), wser)

Python 3 Web Server 2

  • 在网络服务器中打开链接后,方法将被调用,我们可以通过这个方法发送手动网页。
  • 下面的图片显示,服务器的网页将通过浏览器访问。为了访问网页,我们需要给出本地主机和端口号,这是在创建服务器时使用的。

Python 3 Web Server 3

Python 3 Webserver 示例

  • Python 3 中的 HTTP 服务器模块定义了用于创建 HTTP 和 Web 服务器的类。然而,我们不建议在生产环境中使用 http.server。它只运行需要的安全检查。为了建立一个网络服务器,我们需要编写服务器代码。
  • 下面是一个python 3 webservers的例子,如下所示。在下面的例子中,我们正在使用8000端口启动webserver。同时,我们正在导入http.server和socket server的依赖关系。在下面的例子中,我们使用一个简单的HTTP请求处理器来处理请求。

代码

import http.server
import socketserver
ser_port = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer (("", ser_port), Handler) as httpd:
print("Starting at port", ser_port)
httpd.serve_forever ()

Example 1

  • Python 3中的HTTP服务器模块更有条理,并提供了毫不含糊的信息。另一方面,当我们退出键盘时,webserver模块不会暴露python模块的所有数据;这是一种更简洁的方法。
  • 下面的例子显示了一个自定义处理程序的使用,为请求服务。python网络服务器可以在任何端口运行;但是,默认端口是8000。

代码

import http.server
import socketserver
ser_port = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer (("", ser_port), Handler) as httpd:
print("Python 3 web server", ser_port)
httpd.serve_forever ()

Example 2

总结

我们可以用python中的一行代码启动一个Web服务器。几乎在任何地方都可以找到网络服务器。Python 3网络服务器是设置网络服务器的两种方法;Python自带了一个内置的网络服务器。