基于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
投稿
猜你喜欢
- 问题:变量名是否合法: 1.变量名可以由字母
- 从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生
- 显示图像是 Opencv最基本的操作之一, imshow()函数可以实现该操作。如果使用过其他GUI框架背景,就会很自然地调用 imshow
- 阅读上一篇:FrontPage XP设计教程3——网页的布局 FrontPage XP可以保证用户设计网页与不同的浏览器兼容,它所提供的样式
- <?php // fix 404 pages: header('HTTP/1.1 200 OK'); // set 4
- Macromedia官方将在其他软件中内建Fireworks技术称为Fireworks技术,网上也称之为内建图片编辑器。Dreamweave
- 我最近在涉及大量数据处理的项目中频繁使用 sqlite3。我最初的尝试根本不涉及任何数据库,所有的数据都将保存在内存中,包括字典查找、迭代和
- 我们今天就来看一下PHP 7正式版的算法和 wordpress 应用在其上的性能表现。PHP7 的安装,真是非常地向下兼容,下载,解压,把之
- 前言出发点,网上下了一批png,使用wxFormBuilder做软件工具栏的图标,原图做出来的效果这么大的一个图标让笔者差点就笑岔气了以前都
- 现在的垃圾留言越来越智能,并且从留言内容几乎看不出来是垃圾留言,而大量的垃圾留言会导致文章可读性下降,并可能会被搜索引擎惩罚,经过一段时间的
- open函数你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的辅助方法才可以调用它进行读写。语法:fil
- 本文实例讲述了Python多线程编程之多线程加锁操作。分享给大家供大家参考,具体如下:Python语言本身是支持多线程的,不像PHP语言。下
- js部分setInterval("time_controller()",1000);function time_cont
- 前言前面在 BeanShell 里面是通过 java 脚本实现请求的预处理,jmeter里面也可以调用python的脚本,需安装 jytho
- 1.当前时间戳转换为指定格式的日期# -*- coding: utf-8 -*-# @Time : 2019/5/31 10:5
- 本文实例为大家分享了python实现飞船大战的具体代码,供大家参考,具体内容如下上篇博文我们一起实现了贪吃蛇与坦克大战200行python代
- 1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop data
- “看图购”beta版今日起正式在淘宝网上线了,域名是:http://go.taobao.com。从此您也可以像翻看杂志一样翻看女装的图片了,
- 1 lambdalambda原型为:lambda 参数:操作(参数)lambda函数也叫匿名函数,即没有具体名称的函数,它允许快速定义单行函
- JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。 JSON