Python實現(xiàn)http服務器(http.server模塊傳參?接收參數(shù))實例
摘要
要實現(xiàn)一個可以接收參數(shù)的HTTP服務器,您可以使用Python標準庫中的http.server模塊。該模塊提供了一個簡單的HTTP服務器,可以用于開發(fā)和測試Web應用程序。
下面是一個示例代碼,它實現(xiàn)了一個可以接收參數(shù)的HTTP服務器:
代碼
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]
# 構造響應
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__':
# 啟動HTTP服務器
server_address = ('', 8000)
httpd = HTTPServer(server_address, MyHandler)
print('服務已開啟...')
httpd.serve_forever()使用說明
在這個例子中,MyHandler類繼承自BaseHTTPRequestHandler,用于處理HTTP請求。在do_GET()方法中,首先解析URL中的查詢字符串,然后獲取參數(shù)值。接下來,代碼構造響應,并將參數(shù)值插入到HTML頁面中。最后,響應發(fā)送到客戶端。
如果您想添加更多的參數(shù),只需要在URL中添加相應的查詢參數(shù),并在do_GET()方法中解析即可。例如,如果您想添加一個gender參數(shù),可以這樣訪問URL:http://localhost:8000/?name=Tanking&time=2023-10-21&gender=male。
您可以通過運行上述代碼來啟動HTTP服務器,然后在瀏覽器中訪問http://localhost:8000/?name=Tanking&time=2023-10-21來測試它。服務器將返回一個包含參數(shù)值的HTML頁面。
運行
在寶塔的終端中,你可以這樣運行:

但是,關閉終端就停止運行了。所以需要使用這個命令:

nohup python yourpycode.py &
演示

以上就是Python實現(xiàn)http服務器(http.server模塊傳參 接收參數(shù))實例的詳細內(nèi)容,更多關于Python http.server傳參接收的資料請關注腳本之家其它相關文章!
相關文章
python之openpyxl模塊的安裝和基本用法(excel管理)
這篇文章主要給大家介紹了關于python之openpyxl模塊的安裝和基本用法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
Python基于Tkinter的HelloWorld入門實例
這篇文章主要介紹了Python基于Tkinter的HelloWorld入門實例,以一個簡單實例分析了Python中Tkinter模塊的使用技巧,需要的朋友可以參考下2015-06-06
python3.6 實現(xiàn)AES加密的示例(pyCryptodome)
本篇文章主要介紹了python3.6 實現(xiàn)AES加密的示例(pyCryptodome),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
python中multiprosessing模塊的Pool類中的apply函數(shù)和apply_async函數(shù)的區(qū)別
這篇文章主要介紹了python中multiprosessing模塊的Pool類中的apply函數(shù)和apply_async函數(shù)的區(qū)別、文章圍繞主題的相關內(nèi)容展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06

