首页 > 编程语言 >如何用 python 做个简单服务器

如何用 python 做个简单服务器

时间:2023-12-26 16:02:20浏览次数:30  
标签:HTTP http 做个 python server 模块 服务器 PORT

如何用 python 做个简单服务器 _HTTP

在Python中,你可以使用内置的http.server模块创建一个简单的HTTP服务器。这个模块提供了一个轻量级的Web服务器,非常适合用于测试和学习目的。以下是创建一个简单服务器的步骤:

1.导入必要的模块:

首先,你需要导入http.server模块,该模块包含了用于创建HTTP服务器的类。

import http.server

import socketserver

2.选择端口并定义请求处理程序:

选择一个空闲的端口,并定义一个请求处理程序。可以使用SimpleHTTPRequestHandler类,它是http.server模块中提供的一个简单的请求处理程序,用于处理HTTP GET请求。

PORT=8000

handler=http.server.SimpleHTTPRequestHandler

3.启动服务器:

创建一个TCPServer对象,将选定的端口和请求处理程序传递给它,并通过调用serve_forever方法启动服务器。

with socketserver.TCPServer(("",PORT),handler)as httpd:

print(f"Serving on port{PORT}")

httpd.serve_forever()

将以上三个步骤组合在一起,你就可以创建一个简单的HTTP服务器了。下面是完整的代码示例:

import http.server

import socketserver

#选择端口

PORT=8000

#定义请求处理程序

handler=http.server.SimpleHTTPRequestHandler

#启动服务器

with socketserver.TCPServer(("",PORT),handler)as httpd:

print(f"Serving on port{PORT}")

httpd.serve_forever()

保存这个文件,命名为server.py,然后在命令行中运行python server.py。你将看到输出提示,指示服务器已经在指定的端口上运行。

访问浏览器,并在地址栏中输入http://localhost:8000,你应该能够看到一个简单的文件目录列表。这是因为SimpleHTTPRequestHandler类默认会列出当前工作目录的文件。

这个简单的服务器可以帮助你在本地进行测试、共享文件,或者学习HTTP服务器的基础知识。请注意,这只是一个基础示例,用于更丰富的功能,你可能需要使用其他库或框架,如Flask或Django。

标签:HTTP,http,做个,python,server,模块,服务器,PORT
From: https://blog.51cto.com/u_14448891/8984269

相关文章

  • Python为什么空字符串的逻辑值是True
    在Python中,空字符串(即'')的逻辑值被定义为True。这是因为Python中的逻辑值是基于所谓的"真值测试"规则进行判断的。根据这个规则,除了一些特定的值被认为是False之外,其他所有的值都被认为是True。在Python中,以下值被认为是False:-None-False-0(包括0.0和其他表示零的数值)-空的容器对象(......
  • 为什么python总是读取不到文件
    在Python中,当你尝试读取文件但却无法成功时,可能有几个常见的原因。下面将探讨一些可能导致Python无法读取文件的问题,并提供相应的解决方案。1.文件路径错误:当你提供给Python的文件路径不正确时,它将无法找到该文件。确保你提供的文件路径是准确的,包括文件名和文件所在的文件夹路径。......
  • Python 项目多维列表如何实现
    在Python中,可以使用多维列表来表示和处理具有多个维度的数据。多维列表实际上是一个列表的列表,其中每个内部列表代表一个维度。本文将介绍如何创建、访问和操作多维列表。创建多维列表要创建一个多维列表,可以使用嵌套的列表结构。每个内部列表代表一个维度,可以包含任意数量的元素。......
  • 协议栈——连接服务器
    这个步骤主要的工作是:填补客户端和服务端套接字的控制信息也可以说是通信双方交换各自的控制信息并记录如对方的ip和port配置信息,这里的连接是指通信前的准备工作上一篇介绍查看套接字的命令时,可以看到很多信息,但是刚刚创建出来的套接字是什么信息都没有的,协议栈也因此不知道和谁......
  • 【python爬虫课程设计】掌上高考——高校数据爬取+数据可视化
    一、选题的背景选择此选题是因为掌上高考是一个提供本科院校信息的网站,通过爬取该网站的数据,可以获取到各个本科院校的相关信息,如学校名称、所在地、专业设置等。通过对这些数据进行分析和可视化,可以帮助学生更好地了解各个本科院校的情况,为他们的升学选择提供参考。预期目标是通......
  • 【Python微信机器人】第六七篇: 封装32位和64位Python hook框架实战打印微信日志
    目录修整目前的系列目录(后面会根据实际情况变动):在windows11上编译python将python注入到其他进程并运行注入Python并使用ctypes主动调用进程内的函数和读取内存结构体调用汇编引擎实战发送文本和图片消息(支持32位和64位微信)允许Python加载运行py脚本且支持热加载利用......
  • maturin 方便发布基于rust 的python 包工具
    maturin是PyO3团队开发的,方便我们开发基于rust的python包,比如PyO3的使用文档中就使用了此工具安装&使用安装(可选,可以基于venv安装)可以基于pip以及pipxpipxinstallmaturin创建一个简单项目python-mvenv.venvsource.venv/bin/activatepipinstallmaturinmaturin......
  • wpf + LiveCharts.wpf 做个漂亮的图表
    十年河东,十年河西,莫欺少年穷学无止境,精益求精参考:WPFLiveChart图表详解接着上一篇博客: wpf+MaterialDesign+Prism8实现导航功能 1、项目引入图表包 2、定义用户控件IndexView的IndexViewModel,如下usingLiveCharts;usingPrism.Mvvm;usingSystem;usingSystem.Col......
  • 成功解决 无法访问服务器端口问题
    问题描述访问服务器的48081端口时显示无法访问问题分析与解决问题可能是防火墙阻挡了对48081端口的访问sudosystemctlstatusfirewalld检查服务器防火墙状态防火墙是关闭状态因为我是轻量级应用服务器未设置安全组查看防火墙内的端口规则,未添加则添加端口,问题解决,......
  • 运行js文件,会弹出一个python解释器的界面,怎么解决呢?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【菜......