Python實(shí)現(xiàn)http服務(wù)器(http.server模塊傳參?接收參數(shù))實(shí)例
摘要
要實(shí)現(xiàn)一個(gè)可以接收參數(shù)的HTTP服務(wù)器,您可以使用Python標(biāo)準(zhǔn)庫(kù)中的http.server模塊。該模塊提供了一個(gè)簡(jiǎn)單的HTTP服務(wù)器,可以用于開(kāi)發(fā)和測(cè)試Web應(yīng)用程序。
下面是一個(gè)示例代碼,它實(shí)現(xiàn)了一個(gè)可以接收參數(shù)的HTTP服務(wù)器:
代碼
from http.server import BaseHTTPRequestHandler, HTTPServer
from urllib.parse import urlparse, parse_qs
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
# 解析URL中的查詢(xún)字符串
query = parse_qs(urlparse(self.path).query)
# 獲取參數(shù)值
name = query.get('name', [''])[0]
time = query.get('time', [''])[0]
# 構(gòu)造響應(yīng)
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(bytes("<html><head><title>Python HTTP Server</title></head>", "utf-8"))
self.wfile.write(bytes("<body><p>Hello, %s!</p>" % name, "utf-8"))
self.wfile.write(bytes("<p>this is a python server page, this time is %s</p><img src='https://pic.rmb.bdstatic.com/bjh/b1dd190e30c6aae5ab98cba7d9105e886484.jpeg' style='width:500px;' /></body></html>" % time, "utf-8"))
if __name__ == '__main__':
# 啟動(dòng)HTTP服務(wù)器
server_address = ('', 8000)
httpd = HTTPServer(server_address, MyHandler)
print('服務(wù)已開(kāi)啟...')
httpd.serve_forever()使用說(shuō)明
在這個(gè)例子中,MyHandler類(lèi)繼承自BaseHTTPRequestHandler,用于處理HTTP請(qǐng)求。在do_GET()方法中,首先解析URL中的查詢(xún)字符串,然后獲取參數(shù)值。接下來(lái),代碼構(gòu)造響應(yīng),并將參數(shù)值插入到HTML頁(yè)面中。最后,響應(yīng)發(fā)送到客戶(hù)端。
如果您想添加更多的參數(shù),只需要在URL中添加相應(yīng)的查詢(xún)參數(shù),并在do_GET()方法中解析即可。例如,如果您想添加一個(gè)gender參數(shù),可以這樣訪(fǎng)問(wèn)URL:http://localhost:8000/?name=Tanking&time=2023-10-21&gender=male。
您可以通過(guò)運(yùn)行上述代碼來(lái)啟動(dòng)HTTP服務(wù)器,然后在瀏覽器中訪(fǎng)問(wèn)http://localhost:8000/?name=Tanking&time=2023-10-21來(lái)測(cè)試它。服務(wù)器將返回一個(gè)包含參數(shù)值的HTML頁(yè)面。
運(yùn)行
在寶塔的終端中,你可以這樣運(yùn)行:

但是,關(guān)閉終端就停止運(yùn)行了。所以需要使用這個(gè)命令:

nohup python yourpycode.py &
演示

以上就是Python實(shí)現(xiàn)http服務(wù)器(http.server模塊傳參 接收參數(shù))實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Python http.server傳參接收的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python 基于http.server模塊實(shí)現(xiàn)簡(jiǎn)單http服務(wù)的代碼舉例
- Python中的http.server庫(kù)用法詳細(xì)介紹
- 通過(guò)Python中的http.server搭建文件上傳下載服務(wù)功能
- 使用Python?http.server模塊共享文件的方法詳解
- python3之http.server模塊用法
- 詳解用python -m http.server搭一個(gè)簡(jiǎn)易的本地局域網(wǎng)
- Python通過(guò)命令開(kāi)啟http.server服務(wù)器的方法
- python中http.server內(nèi)置庫(kù)構(gòu)建臨時(shí)文件服務(wù)
相關(guān)文章
python模塊shutil函數(shù)應(yīng)用示例詳解教程
這篇文章主要為大家介紹了python模塊中shutil函數(shù)的應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10
使用Python輕松實(shí)現(xiàn)裁剪PDF并導(dǎo)出為圖片
在日常工作中,處理 PDF 文件是非常常見(jiàn)的需求,本文將介紹如何使用 Python 裁剪 PDF 頁(yè)面,以及如何將裁剪后的 PDF 導(dǎo)出為圖片,感興趣的小伙伴可以了解下2025-10-10
Python編寫(xiě)FTP自動(dòng)化上傳下載腳本的實(shí)現(xiàn)指南
Python提供了一個(gè)簡(jiǎn)單而強(qiáng)大的方式來(lái)編寫(xiě)FTP自動(dòng)化腳本,利用 ftplib 庫(kù)實(shí)現(xiàn)文件的上傳和下載功能,本指南展示了如何快速上手,實(shí)現(xiàn)自動(dòng)化文件傳輸,以及如何根據(jù)需求進(jìn)行擴(kuò)展,例如增加錯(cuò)誤處理、日志記錄和多線(xiàn)程支持,需要的朋友可以參考下2025-05-05
Python?數(shù)據(jù)可視化實(shí)現(xiàn)5種炫酷的動(dòng)態(tài)圖
數(shù)據(jù)可以幫助我們描述這個(gè)世界、闡釋自己的想法和展示自己的成果,但如果只有單調(diào)乏味的文本和數(shù)字,我們卻往往能難抓住觀眾的眼球。而很多時(shí)候,一張漂亮的可視化圖表就足以勝過(guò)千言萬(wàn)語(yǔ)2022-01-01
訊飛webapi語(yǔ)音識(shí)別接口調(diào)用示例代碼(python)
這篇文章主要介紹了如何使用Python3調(diào)用訊飛WebAPI語(yǔ)音識(shí)別接口,重點(diǎn)解決了在處理語(yǔ)音識(shí)別結(jié)果時(shí)判斷是否為最后一幀的問(wèn)題,通過(guò)運(yùn)行代碼并總結(jié)經(jīng)驗(yàn),解決了常見(jiàn)的模塊和屬性錯(cuò)誤,需要的朋友可以參考下2025-03-03
python3.4下django集成使用xadmin后臺(tái)的方法
本篇文章主要介紹了python3.4下django集成使用xadmin后臺(tái)的方法,具有一定的參加價(jià)值,有興趣的可以了解一下2017-08-08

