基于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-06Selenium中免登錄的實(shí)現(xiàn)方法option詳解
在selenium中有很多種可以實(shí)現(xiàn)網(wǎng)站的免登錄,option就是其中的一種做法,這篇文章主要介紹了Selenium中免登錄的實(shí)現(xiàn)方法option,需要的朋友可以參考下2022-12-12Python開(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-06Windows下實(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-07Python?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