基于Python创建可定制的HTTP服务器
作者:winfredzhang 发布时间:2023-08-09 22:46:09
标签:Python,HTTP,服务器
要编写一个简单的能发布网页的 Python 应用服务器,可以使用 Python 自带的 http.server
模块来实现。http.server
模块是 Python 的标准库,可以用来快速搭建一个简单的 Web 服务器。
以下是一个简单的示例,演示如何使用 http.server
模块来实现一个能够发布网页的应用服务器:
步骤如下:
1、编写服务端代码
命名为httpserver.py文件
import http.server
import socketserver
PORT = 8080
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print(f"Serving at port {PORT}")
httpd.serve_forever()
这个应用服务器将会在本地的 8080 端口监听来自客户端的 HTTP 请求,并将当前目录下的网页文件(如 HTML、CSS、JS 等)发布给客户端。
要使用这个应用服务器,只需要将网页文件放在当前目录下,然后在终端中运行上述 Python 脚本即可。在浏览器中访问 http://localhost:8080 即可访问网页。
2、编写网页html+css文件
命名为index.html和style.css文件
index.html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录页面</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<form>
<h2>欢迎登录</h2>
<label for="username"><b>用户名</b></label>
<input type="text" placeholder="请输入用户名" name="username" required>
<label for="password"><b>密码</b></label>
<input type="password" placeholder="请输入密码" name="password" required>
<button type="submit">登录</button>
</form>
</div>
</body>
</html>
style.css:
body {
background-color: #F8F8F8;
font-family: Arial, sans-serif;
}
.container {
width: 400px;
margin: 0 auto;
margin-top: 50px;
background-color: #FFFFFF;
padding: 20px;
border-radius: 10px;
box-shadow: 0px 0px 10px #888888;
}
form {
display: flex;
flex-direction: column;
}
h2 {
text-align: center;
margin-bottom: 20px;
}
label {
font-size: 18px;
margin-bottom: 10px;
}
input[type="text"],
input[type="password"] {
padding: 10px;
margin-bottom: 20px;
border: none;
border-radius: 5px;
box-shadow: 0px 0px 5px #888888;
}
button[type="submit"] {
background-color: #4CAF50;
color: #FFFFFF;
font-size: 16px;
font-weight: bold;
padding: 10px;
margin-top: 20px;
border: none;
border-radius: 5px;
cursor: pointer;
}
button[type="submit"]:hover {
background-color: #3E8E41;
}
3、复制html+css到服务端py文件同一文件夹下
4、运行服务端程序
5、浏览器中输入localhost:8080
显示如下:
程序达到预期目标。
来源:https://blog.csdn.net/winniezhang/article/details/129230891
0
投稿
猜你喜欢
- 层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯.塞蒂(T.
- 之前折磨了很久,想在Mysql命令行下导出数据库,但就是每天提示不那个错误,后来才知道其实mysqldump不是mysql命令,因此不能在M
- 本文实例为大家分享了jQuery Ajax File Upload实例源码,供大家参考,具体内容如下项目结构Default.aspxUplo
- 一、原理1.图片必须具有经纬度信息2.经纬度格式转换2.1 GPS点坐标的两种表示方式(误差还是有的)2.1.1 十进制换度分秒例:经纬度1
- PHP attributes() 函数实例返回 XML 的 body 元素的属性和值:<?php $note=<<<
- 一、项目需求前言:BBS上每个id对应一个用户,他们注册时候会填写性别(男、女、保密三选一)。经过检查,BBS注册用户的id对应1-3000
- 执行效果如下:from tkinter import *import urllib.requestimport gzipimport jso
- 之前在实现表单中file类型input选择多图片的时候找到一种方式 也许不是最好的但亲测可行且支持ie7以上以及chrome浏览器在表单中使
- 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用。最近开发遇到一些需要使用正则
- 从其他语言转入Go语言的同学经常会陷入一个思考:如何创建一个单例?有些同学可能会把其它语言中的双检锁模式移植过来,双检锁模式也称为懒汉模式,
- 表结构:CREATE TABLE `instance` ( `id` int(11) unsigned NOT NULL AUTO_INCR
- 这篇文章主要介绍了python 数据生成excel导出(xlwt,wlsxwrite)代码实例,文中通过示例代码介绍的非常详细,对大家的学习
- 缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>该书以java语言演绎了常见设计模式本系列笔记拟采用gol
- 导言到目前为止,我们探讨的教程是由表现层,业务逻辑层和数据访问层构成的层次体系结构。数据访问层和业务逻辑层分别在教程第一和第二章提到。在Di
- 目录精确调整工作表的行高和列宽批量更改多个工作簿的数据格式批量更改工作簿的外观格式设置字体格式修改字体为宋体修改字号字体加粗字体颜色单元格填
- 想找一个可以播放文字的闹钟找不到,自己写一个更简单。TTS实现由很多种办法,百度等都提供了API接口,但类似百度,需要先注册等一系列动作。其
- 经常存在在我们的电脑中的垃圾文件主要是指系统在运行过程中产生的tmp临时文件、日志文件、临时备份文件等。垃圾清理器的作用其实也是对这些文件进
- 所有人都知道select top 的用法,但很多人还不知道update top 和 delete top 怎么用。以往的做法是set row
- 本文实例形式讲解了python的类变量和成员变量用法,对于Python程序设计有一定的参考价值。分享给大家供大家参考。具体如下:先看看下面这
- 上一篇文章中,我们介绍了python实现图片处理和特征提取详解,这里我们再来看看Python通过OpenCV实现批量剪切图片,具体如下。做图