Python 寫乙個Web服務

2021-08-18 02:04:43 字數 2016 閱讀 4782

寫乙個簡單的python服務,可以通過http請求訪問該服務。

# coding:utf-8

import socket # 匯入socket包

# multiprocessing包是python中的多程序管理包

# 在 multiprocessing 中,通過建立 process 物件然後呼叫其 start() 方法來生成程序。 process 遵循 threading.thread 的api。多程序程式的乙個簡單例子是

from multiprocessing import process

# 定義客戶端處理函式

defhandle_client

(client_socket):

"""處理客戶端請求"""

# 獲取客戶端請求資料

request_data = client_socket.recv(1024) #接收tcp資料,資料以字串形式返回。指定要接收的最大資料量為1024位元組

print("request data:", request_data) #列印客戶端請求的資料

# 構造響應資料

client_socket.send(bytes(response, "utf-8")) # 向客戶端返回響應資料

client_socket.close()# 關閉客戶端連線

if __name__=="__main__":

server_socket = socket.socket(socket.af_inet, socket.sock_stream) # 建立tcp socket對像

server_socket.bind(("", 8000)) # 將套接字繫結到位址和埠,在af_inet下,以tuple(host, port)的方式傳入,如s.bind((host, port))

server_socket.listen(120) # 開始監聽tcp傳入連線,backlog指定在拒絕鏈結前,作業系統可以掛起的最大連線數,該值最少為1,大部分應用程式設為5就夠用了

while

true:

client_socket, client_address = server_socket.accept() # accept()方法接受tcp鏈結並返回(conn, address),其中conn是新的套接字物件,可以用來接收和傳送資料,address是鏈結客戶端的位址。

print("[%s, %s]使用者連線上了" % client_address) # 列印連線的客戶端的ip作為提示資訊

# process([group [, target [, name [, args [, kwargs]]]]]),target表示呼叫物件,args表示呼叫物件的位置引數元組。kwargs表示呼叫物件的字典。name為別名。group實質上不使用。

handle_client_process = process(target=handle_client, args=(client_socket,))

handle_client_process.start()# 啟動程序

client_socket.close() #關閉socket

執行後在瀏覽器輸入:127.0.0.1:8000

python寫乙個服務 Python寫乙個服務

coding utf 8 import json from urllib.parse import parse qs from wsgiref.server import make server 定義函式,引數是函式的兩個引數,都是python本身定義的,預設就行了。定義檔案請求的型別和當前請求成功...

用python寫乙個簡單的web伺服器

人生苦短,我用python 簡潔高效,這才是理想的語言啊 分享一點python的學習經驗 如何用python寫乙個簡單的web伺服器 首先,我們需要簡單地了解一下網路通訊協議,這裡用白話介紹一下tcp和udp這兩種傳輸層的協議 tcp 通訊過程之中每次通訊都會進行確認操作,確保報文的安全送達,相當於...

寫乙個簡單web程式

開發簡單 web 服務程式 cloudgo,了解 web 伺服器工作原理。熟悉 go 伺服器工作原理 基於現有 web 庫,編寫乙個簡單 web 應用類似 cloudgo。使用 curl 工具訪問 web程式 對 web 執行壓力測試 課件程式設計 web 服務程式 類似 cloudgo 應用。要求...