全国做网站最好的公司,闵行网页设计培训学校,优秀网站特点,html5混合app开发目录 官方文档安装教程用命令行创建编写代码创建 实例 官方文档
http.server 警告#xff1a; http.server 不推荐用于生产环境。它仅仅实现了 basic security checks 的要求。 安装
Python3 内置标准模块#xff0c;无需安装。#xff08;在之前的 Python2 版本名称是 Si… 目录 官方文档安装教程用命令行创建编写代码创建 实例 官方文档
http.server 警告 http.server 不推荐用于生产环境。它仅仅实现了 basic security checks 的要求。 安装
Python3 内置标准模块无需安装。在之前的 Python2 版本名称是 SimpleHTTPServer
教程
用命令行创建 http.server 支持以 Python 解释器的 -m 参数直接调用。 通过执行如下命令创建一个最简单的 HTTP 服务器
python -m http.server服务器默认监听端口是 8000支持自定义端口号
python -m http.server 9000服务器默认绑定到所有接口可以通过 -b/–bind 指定地址如本地主机
python -m http.server --bind 127.0.0.1服务器默认工作目录为当前目录可通过 -d/–directory 参数指定工作目录
python -m http.server --directory /tmp/通过在命令行传入 --cgi 参数可以启用 CGIHTTPRequestHandler
python -m http.server --cgi警告 CGIHTTPRequestHandler 和 --cgi 命令行选项不可供不受信任的客户端使用且容易受到恶意利用。 应当始终在安全的环境中使用。 编写代码创建 http.server 也支持在代码中调用导入对应的类和函数即可。 from http.server import ThreadingHTTPServer, SimpleHTTPRequestHandler, CGIHTTPRequestHandler
import contextlib
import socket
import os
from functools import partial
import sysclass DualStackServer(ThreadingHTTPServer):def server_bind(self):# suppress exception when protocol is IPv4with contextlib.suppress(Exception):self.socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)return super().server_bind()def run(server_classDualStackServer,bind127.0.0.1,port8000,cgiFalse,directoryos.getcwd()):if cgi:handler_class CGIHTTPRequestHandlerelse:handler_class partial(SimpleHTTPRequestHandler, directorydirectory)with server_class((bind, port), handler_class) as httpd:print(fServing HTTP on {bind} port {port} f(http://{bind}:{port}/) ...)try:httpd.serve_forever()except KeyboardInterrupt:print(\nKeyboard interrupt received, exiting.)sys.exit(0)if __name__ __main__:run()
server_class服务器类handler_class请求处理类bindIPport端口cgi是否启用 CGI 请求处理程序directory工作目录
实例
既然我们已经知道了 http.server 能够快速地创建一个 HTTP 服务器那么它能应用到哪些项目场景
小型 web 项目在局域网内的预览
项目目录
web:.
├─index.htmlindex.html
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
Hello World
/body
/html切换到目录 cd web执行命令 python -m http.server浏览器地址栏输入 localhost:8000显示
Hello World对于局域网的其他用户可通过你的主机 IP 端口号访问如你的主机 IP 是 192.168.0.1那么将网址 192.168.0.1:8000 发送给你的同事或同学他们也可以看到 index.html 文件渲染的内容。 在本地浏览器访问远程服务器的端口映射
如果通过 VSCode 连接远程服务器使用 http.server 开启一个端口后会自动映射到本地这样在本地浏览器就能查看和下载远程服务器资源。除 VSCode 外其他工具应该也可以实现远程与本地的端口映射