Python實(shí)現(xiàn)http服務(wù)器(http.server模塊傳參?接收參數(shù))實(shí)例
摘要
要實(shí)現(xiàn)一個(gè)可以接收參數(shù)的HTTP服務(wù)器,您可以使用Python標(biāo)準(zhǔn)庫中的http.server模塊。該模塊提供了一個(gè)簡單的HTTP服務(wù)器,可以用于開發(fā)和測試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中的查詢字符串
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ù)已開啟...')
httpd.serve_forever()使用說明
在這個(gè)例子中,MyHandler類繼承自BaseHTTPRequestHandler,用于處理HTTP請(qǐng)求。在do_GET()方法中,首先解析URL中的查詢字符串,然后獲取參數(shù)值。接下來,代碼構(gòu)造響應(yīng),并將參數(shù)值插入到HTML頁面中。最后,響應(yīng)發(fā)送到客戶端。
如果您想添加更多的參數(shù),只需要在URL中添加相應(yīng)的查詢參數(shù),并在do_GET()方法中解析即可。例如,如果您想添加一個(gè)gender參數(shù),可以這樣訪問URL:http://localhost:8000/?name=Tanking&time=2023-10-21&gender=male。
您可以通過運(yùn)行上述代碼來啟動(dòng)HTTP服務(wù)器,然后在瀏覽器中訪問http://localhost:8000/?name=Tanking&time=2023-10-21來測試它。服務(wù)器將返回一個(gè)包含參數(shù)值的HTML頁面。
運(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)文章!
相關(guān)文章
django使用admin站點(diǎn)上傳圖片的實(shí)例
今天小編就為大家分享一篇django使用admin站點(diǎn)上傳圖片的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
解決PyCharm IDE環(huán)境下,執(zhí)行unittest不生成測試報(bào)告的問題
這篇文章主要介紹了解決PyCharm IDE環(huán)境下,執(zhí)行unittest不生成測試報(bào)告的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
高效測試用例組織算法pairwise之Python實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄咝y試用例組織算法pairwise之Python實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
用python實(shí)現(xiàn)五子棋實(shí)例
這篇文章主要為大家詳細(xì)介紹了用python實(shí)現(xiàn)五子棋實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Python隨機(jī)數(shù)random模塊使用指南
本文給大家分享的是Python隨機(jī)數(shù)random模塊的幾個(gè)常用的方法,非常的簡單,小伙伴們喜歡的話,后續(xù)繼續(xù)深入探討2016-09-09

