基于Python创建可定制的HTTP服务器

 更新时间:2023年05月10日 14:35:55   作者:winfredzhang  
这篇文章主要为大家演示一下如何使用 http.server 模块来实现一个能够发布网页的应用服务器,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

要编写一个简单的能发布网页的 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服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python基础之数据类型知识汇总

    Python基础之数据类型知识汇总

    今天带大家复习一下Python基础知识,文中对数据类型相关知识做了详细的汇总,对刚入门python的小伙伴很有帮助哟,需要的朋友可以参考下
    2021-05-05
  • jupyter notebook 实现matplotlib图动态刷新

    jupyter notebook 实现matplotlib图动态刷新

    这篇文章主要介绍了jupyter notebook 实现matplotlib图动态刷新,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python自动分箱,计算woe,iv的实例代码

    python自动分箱,计算woe,iv的实例代码

    今天小编就为大家分享一篇python自动分箱,计算woe,iv的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python Tkinter 简单登录界面的实现

    Python Tkinter 简单登录界面的实现

    今天小编就为大家分享一篇Python Tkinter 简单登录界面的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • PyCharm鼠标右键不显示Run unittest的解决方法

    PyCharm鼠标右键不显示Run unittest的解决方法

    今天小编就为大家分享一篇PyCharm鼠标右键不显示Run unittest的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 利用django和mysql实现一个简单的web登录页面

    利用django和mysql实现一个简单的web登录页面

    这篇文章主要给大家介绍了关于如何利用django和mysql实现一个简单的web登录页面的相关资料,文中通过图文以及实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-05-05
  • python实现超级玛丽游戏

    python实现超级玛丽游戏

    这篇文章主要为大家详细介绍了python实现超级玛丽游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • python切割图片的实现示例

    python切割图片的实现示例

    本文主要介绍了python切割图片的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 手动实现把python项目发布为exe可执行程序过程分享

    手动实现把python项目发布为exe可执行程序过程分享

    这篇文章主要介绍了手动实现把python项目发布为exe可执行程序过程分享,本文使用C语言实现了一个简洁的Python打包程序,需要的朋友可以参考下
    2014-10-10
  • 详解在Python程序中使用Cookie的教程

    详解在Python程序中使用Cookie的教程

    这篇文章主要介绍了详解在Python程序中使用Cookie的教程,Cookie在无论哪种语言的网络编程学习当中都是重要的知识点,需要的朋友可以参考下
    2015-04-04

最新评论