Python 實(shí)現(xiàn)一個簡單的web服務(wù)器
更新時間:2021年01月03日 09:22:49 作者:凌冷
這篇文章主要介紹了Python 實(shí)現(xiàn)一個簡單的web服務(wù)器的方法,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
import re import socket def service_cilent(new_socket): request = new_socket.recv(1024).decode("utf-8") # Python splitlines() 按照行('\r', '\r\n', \n')分隔,返回一個包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符。 request_lines = request.splitlines() print(request_lines) file_name = "" ret = re.match(r"[^/]+(/[^ ]*)", request_lines[0]) if ret: file_name = ret.group(1) if file_name == "/": file_name = "index.html" try: f = open(file_name, "rb") except: response = "HTTP/1.1 404 NOT FOUND\r\n\r\n" response += "------file not found-----" new_socket.send(response.encode("utf-8")) else: # 打開文件成功就讀文件 然后關(guān)閉文件指針 html_content = f.read() f.close() # 準(zhǔn)備發(fā)送給瀏覽器的數(shù)據(jù)---header response = "HTTP/1.1 200 OK\r\n\r\n" # 將response header發(fā)送給瀏覽器 new_socket.send(response.encode("utf-8")) # 將response body發(fā)送給瀏覽器 new_socket.send(html_content) # 關(guān)閉套接字 new_socket.close() def main(): # 創(chuàng)建套接字 tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 綁定 tcp_server_socket.bind(("", 7089)) # 監(jiān)聽套接字 tcp_server_socket.listen(128) while True: new_socket, cilent_addr = tcp_server_socket.accept() service_cilent(new_socket) # 關(guān)閉監(jiān)聽套接字 tcp_server_socket.close() if __name__ == '__main__': main()
以上就是Python 實(shí)現(xiàn)一個簡單的web服務(wù)器的詳細(xì)內(nèi)容,更多關(guān)于python 實(shí)現(xiàn)web服務(wù)器的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:
- Python Tornado實(shí)現(xiàn)WEB服務(wù)器Socket服務(wù)器共存并實(shí)現(xiàn)交互的方法
- Python Web靜態(tài)服務(wù)器非堵塞模式實(shí)現(xiàn)方法示例
- python3實(shí)現(xiàn)微型的web服務(wù)器
- Python面向?qū)ο笾甒eb靜態(tài)服務(wù)器
- python實(shí)現(xiàn)靜態(tài)web服務(wù)器
- Tornado Web Server框架編寫簡易Python服務(wù)器
- Python Web程序部署到Ubuntu服務(wù)器上的方法
- python快速建立超簡單的web服務(wù)器的實(shí)現(xiàn)方法
- Python實(shí)現(xiàn)簡易版的Web服務(wù)器(推薦)
- python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹
相關(guān)文章
Python TensorFlow介紹與實(shí)戰(zhàn)
這篇文章介紹了Python TensorFlow介紹與實(shí)戰(zhàn),通過本文的介紹,我們不僅了解了TensorFlow的基本概念和安裝方法,還通過線性回歸和卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例,深入探討了 TensorFlow 的使用技巧,TensorFlow 的強(qiáng)大功能和靈活性使其成為深度學(xué)習(xí)領(lǐng)域的重要工具,需要的朋友可以參考下2024-07-07pycharm中使用request和Pytest進(jìn)行接口測試的方法
這篇文章主要介紹了pycharm中使用request和Pytest進(jìn)行接口測試的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07windows10在visual studio2019下配置使用openCV4.3.0
這篇文章主要介紹了windows10在visual studio2019下配置使用openCV4.3.0,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Python?GUI和游戲開發(fā)從入門到實(shí)踐
GUI是圖形用戶界面的縮寫,圖形化的用戶界面對使用過計(jì)算機(jī)的人來說應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Python圖形用戶界面與游戲開發(fā)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05Python 20行簡單實(shí)現(xiàn)有道在線翻譯的詳解
這篇文章主要介紹了Python實(shí)現(xiàn)有道在線翻譯的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05