欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章!

相關(guān)文章

  • Python迭代器定義與簡單用法分析

    Python迭代器定義與簡單用法分析

    這篇文章主要介紹了Python迭代器定義與簡單用法,結(jié)合實(shí)例形式分析了迭代器的概念、原理、創(chuàng)建及使用方法,需要的朋友可以參考下
    2018-04-04
  • 套娃式文件夾如何通過Python批量處理

    套娃式文件夾如何通過Python批量處理

    這篇文章主要介紹了套娃式文件夾如何通過Python批量處理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python TensorFlow介紹與實(shí)戰(zhà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-07
  • pycharm中使用request和Pytest進(jìn)行接口測試的方法

    pycharm中使用request和Pytest進(jìn)行接口測試的方法

    這篇文章主要介紹了pycharm中使用request和Pytest進(jìn)行接口測試的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • python del()函數(shù)用法

    python del()函數(shù)用法

    del用于list列表操作,刪除一個或者連續(xù)幾個元素
    2013-03-03
  • windows10在visual studio2019下配置使用openCV4.3.0

    windows10在visual studio2019下配置使用openCV4.3.0

    這篇文章主要介紹了windows10在visual studio2019下配置使用openCV4.3.0,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python全局變量與局部變量區(qū)別及用法分析

    Python全局變量與局部變量區(qū)別及用法分析

    這篇文章主要介紹了Python全局變量與局部變量區(qū)別及用法,結(jié)合實(shí)例形式分析了Python全局變量與局部變量的定義、常見用法、區(qū)別及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-09-09
  • Python?GUI和游戲開發(fā)從入門到實(shí)踐

    Python?GUI和游戲開發(fā)從入門到實(shí)踐

    GUI是圖形用戶界面的縮寫,圖形化的用戶界面對使用過計(jì)算機(jī)的人來說應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Python圖形用戶界面與游戲開發(fā)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 使用Python自制一個回收站清理器

    使用Python自制一個回收站清理器

    經(jīng)常筆記本電腦的回收站存儲了很多的文件,需要打開回收站全部選中進(jìn)行清理。這篇文章將使用Python自制一個回收站清理器,需要的可以參考一下
    2023-03-03
  • Python 20行簡單實(shí)現(xiàn)有道在線翻譯的詳解

    Python 20行簡單實(shí)現(xiàn)有道在線翻譯的詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)有道在線翻譯的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評論