基于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
显示如下:
程序达到预期目标。
到此这篇关于基于Python创建可定制的HTTP服务器的文章就介绍到这了,更多相关Python定制HTTP服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
jupyter notebook 实现matplotlib图动态刷新
这篇文章主要介绍了jupyter notebook 实现matplotlib图动态刷新,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04PyCharm鼠标右键不显示Run unittest的解决方法
今天小编就为大家分享一篇PyCharm鼠标右键不显示Run unittest的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-11-11
最新评论