最新公告
  • 欢迎您光临都潮汇,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Python 实现一个简单的web服务器

    Python 实现一个简单的web服务器,发送给,浏览器,文件,服务器,换行符

    Python 实现一个简单的web服务器

    易采站长站,站长之家为您整理了Python 实现一个简单的web服务器的相关内容。

    import re
    import socket
    
    
    def service_cilent(new_socket):
      request = new_socket.recv(1024).decode("utf-8")
      # Python splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 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:
        # 打开文件成功就读文件 然后关闭文件指针
        html_content = f.read()
        f.close()
        # 准备发送给浏览器的数据---header
        response = "HTTP/1.1 200 OK\r\n\r\n"
        # 将response header发送给浏览器
        new_socket.send(response.encode("utf-8"))
        # 将response body发送给浏览器
        new_socket.send(html_content)
      # 关闭套接字
      new_socket.close()
    
    
    def main():
      # 创建套接字
      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))
      # 监听套接字
      tcp_server_socket.listen(128)
      while True:
        new_socket, cilent_addr = tcp_server_socket.accept()
        service_cilent(new_socket)
      # 关闭监听套接字
      tcp_server_socket.close()
    
    
    if __name__ == '__main__':
      main()

    以上就是Python 实现一个简单的web服务器的详细内容,更多关于python 实现web服务器的资料请关注易采站长站其它相关文章!

    以上就是关于对Python 实现一个简单的web服务器的详细介绍。欢迎大家对Python 实现一个简单的web服务器内容提出宝贵意见

    本网站所有源码和软件均为作者提供和网友推荐收集整理而来!
    本站提供的所有模块、软件等资源,均不提供任何技术服务,请悉知!
    如您需要商用,请支持正版,本站提供的程序仅供学习和研究使用!
    资源每天实时更新,如遇压缩包解压密码,一律为:www.dch888.cn
    如有侵犯你版权的,请来信(邮箱:68628283@qq.com)指出,本站将立即改正。
    都潮汇 » Python 实现一个简单的web服务器

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    都潮汇
    互联网精品资源网站源码分享平台
    升级SVIP尊享更多特权立即升级