python3之http.server模塊用法
更新時間:2023年09月05日 16:55:11 作者:~Echo
這篇文章主要介紹了python3之http.server模塊用法,具有很好的參考價值,希望對大家有所幫助,
有時候我們需要快速地搭建一個web服務(wù),這時我們就可以使用python里面的http.server模塊搭建http服務(wù)器。
實現(xiàn)的方式有以下幾種。
BaseHTTPServer模塊在Python3中已被合并到http.server
1. 命令行啟動
python -m http.server 80 #pyhton3中啟動方式,開啟的端口為80 python -m SimpleHTTPServer 8080 #python2啟動方式
這種是常用的方式,很簡單。
2. 代碼調(diào)用
from http.server import HTTPServer, BaseHTTPRequestHandler data = {'result': 'this is a test'} host = ('localhost', 8888) class Resquest(BaseHTTPRequestHandler): timeout = 5 server_version = "Apache" #設(shè)置服務(wù)器返回的的響應(yīng)頭 def do_GET(self): self.send_response(200) self.send_header("Content-type","text/html") #設(shè)置服務(wù)器響應(yīng)頭 self.send_header("test1","This is test!") #設(shè)置服務(wù)器響應(yīng)頭 self.end_headers() buf = '''<!DOCTYPE HTML> <html> <head> <title>Get page</title> </head> <body> <form action="post_page" method="post"> username: <input type="text" name="username" /><br /> password: <input type="text" name="password" /><br /> <input type="submit" value="POST" /> </form> </body> </html>''' self.wfile.write(buf.encode()) #里面需要傳入二進(jìn)制數(shù)據(jù),用encode()函數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù) #設(shè)置響應(yīng)body,即前端頁面要展示的數(shù)據(jù) def do_POST(self): path = self.path print(path) #獲取post提交的數(shù)據(jù) datas = self.rfile.read(int(self.headers['content-length'])) #固定格式,獲取表單提交的數(shù)據(jù) #datas = urllib.unquote(datas).decode("utf-8", 'ignore') self.send_response(200) self.send_header("Content-type","text/html") #設(shè)置post時服務(wù)器的響應(yīng)頭 self.send_header("test","This is post!") self.end_headers() html = '''<!DOCTYPE HTML> <html> <head> <title>Post page</title> </head> <body> Post Data:%s <br /> Path:%s </body> </html>''' %(datas,self.path) self.wfile.write(html.encode()) #提交post數(shù)據(jù)時,服務(wù)器跳轉(zhuǎn)并展示的頁面內(nèi)容 if __name__ == '__main__': server = HTTPServer(host, Resquest) print("Starting server, listen at: %s:%s" % host) server.serve_forever()
然后我們可以啟動http服務(wù)
訪問一下,并提交數(shù)據(jù)看一下
獲取到post數(shù)據(jù)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python機(jī)器學(xué)習(xí)基礎(chǔ)線性回歸與嶺回歸算法詳解
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)基礎(chǔ)線性回歸與嶺回歸算法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11Python中的np.vstack()和np.hstack()詳解
這篇文章主要介紹了np.vstack()和np.hstack(),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04用Python實現(xiàn)2024年春晚劉謙魔術(shù)
昨晚春晚上劉謙的兩個魔術(shù)表演都非常精彩,忍不住用編程去模擬一下這個過程,所以本文給大家用Python實現(xiàn)2024年春晚劉謙魔術(shù),文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02