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