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

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

相关文章:

Python - HTTP servers

python的http.server模块用于HTTP服务器的功能,这个模块是python标准库的一部分,不需要pip install。 使用前需要import: import http.server 然后就可以编辑代码,使用此模块提供的接口,实现http server相关功能。 除…...

内网Debian\Ubuntu服务器安装dep包,基于apt-rdepends下载相关依赖

文章目录 背景一、下载依赖二、拷贝到内网三、 使用dpkg安装可能会遇到的问题 背景 由于生产服务器是Debian\Ubuntu系统且在内网环境(不联网),需要使用拷贝deb格式的包使用dpkg的方式进行安装。所以,需要现在联网的环境中将所需的…...

大模型——如何实现超长多轮对话

在自然语言处理的领域中,多轮对话系统是构建智能化交互应用的关键。无论是聊天机器人、虚拟助手,还是客户服务系统,能够保持连贯的对话并记住上下文信息是用户体验的核心。然而,大规模语言模型(如GPT等)的对…...

大数据面试-笔试SQL

一个表table: c_id u_id score;用SQL计算每个班级top5学生的平均分(腾讯) select class_id,avg(score) as score_avg from (select *,row_number() over(partition by class_id order by score desc) as score_rank from table ) t1 where t…...

希尔排序和直接插入排序

因为排序这些比较复杂点我就分几期给大家来讲~~~ 直接插入排序 直接插入排序是一种简单的排序算法,主要用于对少量数据进行排序。其基本思想是将待排序的元素逐个插入到已经排好序的部分中,从而形成一个有序序列。 具体步骤如下: 初始化&…...

IDEA 配置 Git 详解

本文将介绍在IntelliJ IDEA 中如何配置Git 没有安装配置 Git 的可以参考我的这篇文章:安装配置 Git 一、操作环境及准备 1.win 10 2.已安装且配置了Git 3.有Gitee账户 4.安装了IntelliJ IDEA 2023.2.1 5.全程联网 二、配置步骤 2.1 配置git 1.采用全局设置&…...

Docker 部署 Redis 监控系统实战:Redis Exporter 与 Prometheus 完整配置指南

Docker 部署 Redis 监控系统实战:Redis Exporter 与 Prometheus 完整配置指南 文章目录 Docker 部署 Redis 监控系统实战:Redis Exporter 与 Prometheus 完整配置指南一 缓存简述二 redis exporter 部署三 环境变量配置四 修改文件权限五 验证 exporter …...

高级算法设计与分析-MaxFlow网络流基础知识

MaxFlow网络流 1 网络流基础概念 source:源点 sink:终点 Flow:流量 capacity:容量 Residual:残量 Residual Network:残量网络 Augmenting path:增广路径,表示从源点 s 到终点 t 不包含环的路径 Bottleneck capacity:瓶颈容量 2 最大流 2.1 基础概念 2.2 增广路算法 …...

Java项目实战II基于Java+Spring Boot+MySQL的桂林旅游景点导游平台(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 桂林,以其独特的喀斯特地貌、秀美的自然风光闻名遐迩,每年吸引着无数国内外游…...

C语言-输入输出

实验一:编写一个输出两行自定义字符的 C 程序 一、实验目的 熟悉 C 语言的基本结构和语法。掌握 printf() 函数的使用方法。了解在 Code::Blocks 中编写、编译和运行程序的过程。 二、实验内容 编写一个 C 程序,要求输出两行字符,内容自定…...

如何在GitHub上传自己的项目?(一文看懂,每一步的操作和解决常见错误的方法)

目录 步骤一:准备 Git 环境 1. 安装 Git 2. 配置 Git 步骤二:在 GitHub 创建一个新的仓库 1. 登录到你的 GitHub 账号。 2. 点击右上角的 号,然后选择 New repository。 3. 填写以下信息: 步骤三:将本地项目上…...

数据结构_day1

目录 大纲 1.数据结构基础知识 1.1 什么是数据结构 1.2 数据 1.3 逻辑结构 1.4 存储结构 1.4.1 顺序存储 1.4.2 链式存储 1.4.3 索引存储结构 1.4.4 散列存储 1.5 操作 2.算法基础知识 2.1 什么是算法 2.2 算法的设计 2.3 算法的特性 2.4 评价算法的好坏 大纲 数据结构、算法(理…...

c# using 声明进行资源管理

在 C# 8 中,using 声明引入了一种新的语法,称为 using 声明,它使得开发人员在处理资源时的代码更加简洁和清晰。主要的变化包括 使用声明 和 使用上下文(using declaration) 的引入。 使用语句的简化 在 C# 8 中&…...

Kafka之基本概念

1、Kafka是什么? Kafka是由Scala语言开发的一个多分区、多副本,基于Zookeeper集群协调的系统。 那这个所谓的系统又是什么系统呢? 回答这个问题要从发展的角度来看:起初Kafka的定位是分布式消息系统。但是目前它的定位是一个分布…...

倪师学习笔记-天纪-斗数简介

一、学习过程 学习->验证->思考 二、算命方法 算命方法特点铁板神数适合核对六亲子平法准确度一般紫微斗数天文地理融合最好,批六亲不准,配合相可以提升准确率 三、果 天地人三者一起影响果,天时地利人和促成成功1/31/31/31算命部…...

Python酷库之旅-第三方库Pandas(143)

目录 一、用法精讲 646、pandas.Timestamp.is_quarter_start属性 646-1、语法 646-2、参数 646-3、功能 646-4、返回值 646-5、说明 646-6、用法 646-6-1、数据准备 646-6-2、代码示例 646-6-3、结果输出 647、pandas.Timestamp.is_year_end属性 647-1、语法 647…...

细说QT各种线程锁的特点和用法

文章目录 QMutex特点用法QReadWriteLock特点用法QSemaphore特点用法QWaitCondition特点用法在Qt框架中,提供了多种线程同步机制,包括互斥锁(Mutex)、读写锁(Read-Write Lock)、信号量(Semaphore)和条件变量(Wait Conditions)。这些机制用于处理多线程编程中的数据一致性和线程…...

Caffeine+Redis两级缓存架构

CaffeineRedis两级缓存架构 在高性能的服务项目中,我们一般会将一些热点数据存储到 Redis这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。 但是在一些场景下单纯使用 Redis 的分布…...

kafka和zookeeper单机部署

安装kafka需要jdk和zookeeper环境,因此先部署单机zk的测试环境。 zookeeper离线安装 下载地址: zookeeper下载地址:Index of /dist/zookeeper 这里下载安装 zookeeper-3.4.6.tar.gz 版本,测试环境单机部署 上传服务器后解压缩 …...

别了,公有云!下云迁移真的是大趋势么?

【科技明说 | 科技热点关注】 不知道你们还有没有印象,早在2022年,IBM发布了《IBM 企业转型指数:云现状》中也反映了这一趋势:80%的企业已经考虑或正在考虑将已经部署到公有云上的工作负载迁回私有的基础设施。 然而&…...

从伯德图到阶跃响应:手把手教你用Matlab分析控制系统该不该校正

从伯德图到阶跃响应:手把手教你用Matlab分析控制系统该不该校正 控制系统就像一台精密的仪器,而伯德图、根轨迹和阶跃响应则是它的"体检报告"。当你拿到一个系统模型时,如何像医生解读化验单一样,准确判断它是否需要&qu…...

从拍照到HDR:用OpenCV玩转多曝光融合,让你的摄像头拍出大片感(C++实战)

从拍照到HDR:用OpenCV玩转多曝光融合,让你的摄像头拍出大片感(C实战) 当你在逆光环境下拍摄时,是否经常遇到这样的困境——要么天空过曝变成一片惨白,要么前景欠曝沦为剪影?传统相机的动态范围有…...

告别环境配置烦恼:手把手教你搞定Qualcomm AI Engine Direct在Windows和Linux下的开发环境

高通AI引擎开发环境全攻略:Windows与Linux双平台实战指南 第一次打开Qualcomm AI Engine Direct SDK的压缩包时,你可能会有种面对乐高零件箱的错觉——各种架构的库文件、不同平台的工具链、错综复杂的依赖关系扑面而来。作为曾在多个芯片平台迁移AI模型…...

为什么92.7%的AI视频项目在第3秒开始失连?:2024年全球17个主流模型连贯性崩溃点压力测试报告(含可落地的4步韧性加固法)

更多请点击: https://codechina.net 第一章:AI视频生成电影级连贯性技术解析 实现电影级视觉连贯性的AI视频生成,核心在于跨帧时空一致性建模——它远不止于单帧图像质量,更要求运动轨迹、光照逻辑、角色形变与场景拓扑在时间维度…...

CANN/asc-devkit Mins矢量计算

Mins(灵活标量位置) 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 …...

Pandas数据筛选8大核心技巧:从布尔索引到query高效查询

1. 项目概述:为什么我们需要掌握Pandas数据筛选?如果你用Python做数据分析,那么Pandas库绝对是你的核心武器库。而在这个武器库里,数据筛选——也就是从庞大的数据集中精准地挑出你需要的那些行和列——是每天都要重复无数遍的操作…...

Burp Suite新手必看:用Target Scope精准抓包,告别YouTube和Google Analytics的干扰流量

Burp Suite实战指南:用Target Scope打造无干扰渗透测试环境 渗透测试过程中,你是否曾被海量的无关HTTP请求淹没?当你在Burp Suite的HTTP History中翻找关键请求时,YouTube的广告追踪、Google Analytics的数据收集以及其他第三方脚…...

AntiDupl.NET终极指南:免费开源图片去重工具快速清理硬盘重复图片

AntiDupl.NET终极指南:免费开源图片去重工具快速清理硬盘重复图片 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾为电脑中堆积如山的重复图片而烦…...

国产电池包传感监测芯片:从AFE设计到BMS系统实战解析

1. 项目概述:从“芯”守护,让每一度电都安全在电动汽车的心脏——动力电池包里,温度、电压、电流这些关键参数哪怕出现一丝一毫的异常,都可能从量变引发质变,最终导致热失控等严重安全事故。因此,对电池包内…...

YOLACT实战:在Windows 10/11上用RTX 3060显卡跑通实例分割(含CUDA 11.7配置)

YOLACT实战:在Windows 10/11上用RTX 3060显卡跑通实例分割(含CUDA 11.7配置) 当RTX 3060遇上实例分割,如何在Windows平台上避开那些深坑?去年用YOLACT完成工业质检项目时,发现大多数教程都假设用户使用Linu…...