新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
【Python】WSGI簡單Web服務(wù)器,處理GET和POST請求-創(chuàng)新互聯(lián)
【Python】WSGI簡單Web服務(wù)器,處理GET和POST請求
分享文章:【Python】WSGI簡單Web服務(wù)器,處理GET和POST請求-創(chuàng)新互聯(lián)
地址分享:http://www.dlmjj.cn/article/cdcjgg.html
- Python服務(wù)器代碼
- 靜態(tài)HTML文件代碼
"""
Small wsgiref based web server. Takes a path to serve from and an
optional port number (defaults to 8000), then tries to serve files.
MIME types are guessed from the file names, 404 errors are raised
if the file is not found.
"""
import mimetypes
import os
import sys
from wsgiref import simple_server, util
from urllib.parse import parse_qs
def app(environ, respond):
get_query_ =environ['QUERY_STRING']
post_query_=environ["wsgi.input"].read(int(e)).decode("utf-8", 'ignore') if (e:=environ.get("CONTENT_LENGTH")) else None
get_query =parse_qs(get_query_)
post_query=parse_qs(post_query_)
print("REQUEST_METHOD: "+environ['REQUEST_METHOD'])
print("GET : ",(get_query))
print("POST: ",(post_query))
if(environ["PATH_INFO"].startswith(r"/post")):
respond("200 OK", [("Content-Type", "text/html; charset=utf-8")])
message=("Welcome, "+e[0]+" !") if (e:=post_query.get('username')) else "Welcome ! "
html = ''' Post page %s
Post Data:
%s
Path:
%s
''' %( message, str(post_query), environ["PATH_INFO"])
return [html.encode("utf-8")]
else:
# Get the file name and MIME type
fn = os.path.join(path,"res", environ["PATH_INFO"][1:])
if "." not in fn.split(os.path.sep)[-1]:
fn = os.path.join(fn, "index.html")
mime_type = mimetypes.guess_type(fn)[0]
# Return 200 OK if file exists, otherwise 404 Not Found
if os.path.exists(fn):
respond("200 OK", [("Content-Type", mime_type)])
return util.FileWrapper(open(fn, "rb"))
else:
respond("404 Not Found", [("Content-Type", "text/plain")])
return [b"not found"]
if __name__ == "__main__":
# Get the path and port from command-line arguments
path = sys.argv[1] if len(sys.argv) >1 else os.getcwd()
port = int(sys.argv[2]) if len(sys.argv) >2 else 8000
# Make and start the server until control-c
httpd = simple_server.make_server("", port, app)
print(f"Serving {path} on port {port}, control-C to stop")
try:
httpd.serve_forever()
except KeyboardInterrupt:
print("Shutting down.")
httpd.server_close()
靜態(tài)HTML文件代碼????? download
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享文章:【Python】WSGI簡單Web服務(wù)器,處理GET和POST請求-創(chuàng)新互聯(lián)
地址分享:http://www.dlmjj.cn/article/cdcjgg.html