基于Python創(chuàng)建可定制的HTTP服務(wù)器
要編寫(xiě)一個(gè)簡(jiǎn)單的能發(fā)布網(wǎng)頁(yè)的 Python 應(yīng)用服務(wù)器,可以使用 Python 自帶的 http.server 模塊來(lái)實(shí)現(xiàn)。http.server 模塊是 Python 的標(biāo)準(zhǔn)庫(kù),可以用來(lái)快速搭建一個(gè)簡(jiǎn)單的 Web 服務(wù)器。
以下是一個(gè)簡(jiǎn)單的示例,演示如何使用 http.server 模塊來(lái)實(shí)現(xiàn)一個(gè)能夠發(fā)布網(wǎng)頁(yè)的應(yīng)用服務(wù)器:
步驟如下:
1、編寫(xiě)服務(wù)端代碼
命名為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()這個(gè)應(yīng)用服務(wù)器將會(huì)在本地的 8080 端口監(jiān)聽(tīng)來(lái)自客戶端的 HTTP 請(qǐng)求,并將當(dāng)前目錄下的網(wǎng)頁(yè)文件(如 HTML、CSS、JS 等)發(fā)布給客戶端。
要使用這個(gè)應(yīng)用服務(wù)器,只需要將網(wǎng)頁(yè)文件放在當(dāng)前目錄下,然后在終端中運(yùn)行上述 Python 腳本即可。在瀏覽器中訪問(wèn) http://localhost:8080 即可訪問(wèn)網(wǎng)頁(yè)。
2、編寫(xiě)網(wǎng)頁(yè)html+css文件
命名為index.html和style.css文件
index.html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登錄頁(yè)面</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="請(qǐng)輸入用戶名" name="username" required>
<label for="password"><b>密碼</b></label>
<input type="password" placeholder="請(qǐng)輸入密碼" 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、復(fù)制html+css到服務(wù)端py文件同一文件夾下

4、運(yùn)行服務(wù)端程序

5、瀏覽器中輸入localhost:8080
顯示如下:

程序達(dá)到預(yù)期目標(biāo)。
到此這篇關(guān)于基于Python創(chuàng)建可定制的HTTP服務(wù)器的文章就介紹到這了,更多相關(guān)Python定制HTTP服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas DataFrame索引行列的實(shí)現(xiàn)
這篇文章主要介紹了pandas DataFrame索引行列的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Selenium中免登錄的實(shí)現(xiàn)方法option詳解
在selenium中有很多種可以實(shí)現(xiàn)網(wǎng)站的免登錄,option就是其中的一種做法,這篇文章主要介紹了Selenium中免登錄的實(shí)現(xiàn)方法option,需要的朋友可以參考下2022-12-12
Python開(kāi)發(fā)入門(mén)——迭代的基本使用
這篇文章主要介紹了Python 迭代的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python開(kāi)發(fā),感興趣的朋友可以了解下2020-09-09
使用python爬取微博數(shù)據(jù)打造一顆“心”
這篇文章主要介紹了使用python基于微博數(shù)據(jù)打造一顆“心”,作為程序員,我準(zhǔn)備了一份特別的禮物,用以往發(fā)的微博數(shù)據(jù)打造一顆“愛(ài)心”,我想她一定會(huì)感動(dòng)得哭了吧,需要的朋友可以參考下2019-06-06
Windows下實(shí)現(xiàn)Python2和Python3兩個(gè)版共存的方法
這篇文章主要介紹了Windows下實(shí)現(xiàn)Python2和Python3兩個(gè)版共存的方法,本文詳細(xì)的給出了操作步驟和設(shè)置完成后的使用方法,需要的朋友可以參考下2015-06-06
解決python 虛擬環(huán)境刪除包無(wú)法加載的問(wèn)題
這篇文章主要介紹了解決python 虛擬環(huán)境刪除包無(wú)法加載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口
這篇文章主要介紹了Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口,文章基于python的相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-06-06

