当前位置: 首页 > article >正文

Python - HTTP servers

python的http.server模块用于HTTP服务器的功能,这个模块是python标准库的一部分,不需要pip install。

使用前需要import:

import http.server

然后就可以编辑代码,使用此模块提供的接口,实现http server相关功能。

除此之外,在命令行里直接通过模块方式运行,也可以启动一个http服务器。说明如下。

可以使用解释器的 -m 开关直接调用 http.server。这将为相对于当前目录的文件提供服务:

http.server can be invoked directly using the -m switch of the interpreter. This serves files relative to the current directory:

python -m http.server

服务器默认监听 8000 端口。可以通过将所需的端口号作为参数来覆盖默认值:

The server listens to port 8000 by default. The default can be overridden by passing the desired port number as an argument:

python -m http.server 9000

默认情况下,服务器会将自己绑定到所有接口。选项 -b/--bind 可指定服务器应绑定的特定地址。支持 IPv4 和 IPv6 地址。例如,以下命令会使服务器只绑定到 localhost:

By default, the server binds itself to all interfaces. The option -b/--bind specifies a specific address to which it should bind. Both IPv4 and IPv6 addresses are supported. For example, the following command causes the server to bind to localhost only:

python -m http.server --bind 127.0.0.1

3.4 版中更改: 添加了 --bind 选项。

3.8 版中更改: 在 --bind 选项中支持 IPv6。

Changed in version 3.4: Added the --bind option.

Changed in version 3.8: Support IPv6 in the --bind option.

默认情况下,服务器使用当前目录。选项-d/--directory指定了服务器提供文件的目录。例如,以下命令使用了一个特定目录:

By default, the server uses the current directory. The option -d/--directory specifies a directory to which it should serve the files. For example, the following command uses a specific directory:

python -m http.server --directory /tmp/

3.7 版中更改:添加了 --directory 选项。

Changed in version 3.7: Added the --directory option.

默认情况下,服务器符合 HTTP/1.0。选项 -p/--protocol 指定了服务器所遵从的 HTTP 版本。例如,下面的命令运行一个 HTTP/1.1 兼容服务器:

By default, the server is conformant to HTTP/1.0. The option -p/--protocol specifies the HTTP version to which the server is conformant. For example, the following command runs an HTTP/1.1 conformant server:

python -m http.server --protocol HTTP/1.1

3.11 版中更改:添加了 --protocol 选项。

Changed in version 3.11: Added the --protocol option.

在浏览器中输入IP地址和端口号,就能够访问HTTP服务器了。

参考:

http.server — HTTP servers — Python 3.12.7 documentation


http://www.kler.cn/news/336454.html

相关文章:

  • 计算机毕业设计 基于SpringBoot和Vue的课程教学平台的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 短剧小程序短剧APP在线追剧APP网剧推广分销微短剧小剧场小程序集师知识付费集师短剧小程序集师小剧场小程序集师在线追剧小程序源码
  • 学习记录:js算法(五十六):从前序与中序遍历序列构造二叉树
  • 【AIGC】2022-NIPS-视频扩散模型
  • 房地产销售|基于springBoot的房地产销售管理系统设计与实现(附项目源码+论文+数据库)
  • 方舟开发框架(ArkUI)可运行 OpenHarmony、HarmonyOS、Android、iOS等操作系统
  • 大数据新视界 --大数据大厂之大数据驱动智能客服 -- 提升客户体验的核心动力
  • 【SQL】深入理解SQL:从基础概念到常用命令
  • Python(九)-导入模块
  • wpf加载带材料的3D模型(下载的3D预览一样有纹理)
  • Linux的环境变量
  • Java中的标识符和关键字
  • C语言文件操作(上)(27)
  • 基于STM32的超声波测距仪设计
  • 【rCore OS 开源操作系统】Rust 枚举与模式匹配
  • 单链表(纯代码)
  • SQL Server—约束和主键外键详解
  • AAA Mysql与redis的主从复制原理
  • 爬虫(Python版本)
  • 重学SpringBoot3-集成Redis(四)之Redisson