ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基础的HTTP服务器

2020-01-21 10:09:20  阅读:230  来源: 互联网

标签:__ HTTP 基础 sockfd print 服务器 connfd response


【基础的http服务器】

  1. 接收HTTP请求
  2. 给出一定的响应
# http_server.py
# 基础的http服务器
# 1.接收HTTP请求
# 2.给出一定的响应
# 在浏览器输入本机ip:端口号即可访问index.html

from socket import *

# 处理客户请求,返回响应
def handleClient(connfd):
    # 接收消息
    request = connfd.recv(4096)
    # print('***********')
    # print(request)
    # print('***********')
    requestHeadlers = request.splitlines()
    # splitlines()按行进行分割
    for line in requestHeadlers:
        print(line)
    # 发送消息
    try:
        f = open('index2.html','r')
    except IOError:
        # 添加响应行
        response = 'HTTP/1.1 404 not found\r\n'
        # 添加响应体
        response += '\r\n'
        # 空行
        response += '===网页没找到==='
        # 响应体
    else:
        response = 'HTTP/1.1 200 OK\r\n'
        response += '\r\n'
        for i in f:
            response += i

    finally:
        connfd.send(response.encode())
# 基础配置,功能函数的调用
def main():
    # 创建套接字
    sockfd = socket(AF_INET,SOCK_STREAM)
    sockfd.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
    # 绑定
    sockfd.bind(('0.0.0.0',8000))
    # 监听
    sockfd.listen(10)
    while True:
        # 此循环示意当一个客户端断开时,下一个客户端可以继续访问
        print('Listen to the port 8000......')
        # 阻塞等待客户端请求
        connfd,addr = sockfd.accept()
        # 处理请求
        handleClient(connfd)
        connfd.close()




if __name__ == '__main__':
    main()
雨醉东风 发布了86 篇原创文章 · 获赞 2 · 访问量 5018 私信 关注

标签:__,HTTP,基础,sockfd,print,服务器,connfd,response
来源: https://blog.csdn.net/zhangxuelong461/article/details/104058852

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有