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()) #里面需要傳入二進制數(shù)據(jù),用encode()函數(shù)轉(zhuǎ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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Python 基于http.server模塊實現(xiàn)簡單http服務(wù)的代碼舉例
- Python中的http.server庫用法詳細介紹
- 通過Python中的http.server搭建文件上傳下載服務(wù)功能
- 使用Python?http.server模塊共享文件的方法詳解
- Python實現(xiàn)http服務(wù)器(http.server模塊傳參?接收參數(shù))實例
- 詳解用python -m http.server搭一個簡易的本地局域網(wǎng)
- Python通過命令開啟http.server服務(wù)器的方法
- python中http.server內(nèi)置庫構(gòu)建臨時文件服務(wù)
相關(guān)文章
淺談Pytorch torch.optim優(yōu)化器個性化的使用
今天小編就為大家分享一篇淺談Pytorch torch.optim優(yōu)化器個性化的使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
django使用django-apscheduler 實現(xiàn)定時任務(wù)的例子
今天小編就為大家分享一篇django使用django-apscheduler 實現(xiàn)定時任務(wù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

