Python Web Server

8 篇文章 0 订阅
3 篇文章 0 订阅
#/usr/bin/python
#coding=utf-8
from socket import *

def handle_client(client_socket):
    # 客户端服务
    recv_data = client_socket.recv(1024).decode("utf-8") # 1024表示本次最大接收字节数
    request_header_lines = recv_data.splitlines()
    for line in request_header_lines:
        print(line)

    # 返回浏览器数据
    # 设置返回头信息 header
    response_headers = "HTTP/1.1 200 OK\r\n" # HTTP Stuts
    response_headers += "\r\n" # 空一行与body隔开
    # 设置内容body
    response_body = "<h1>testestestest</h1>\r\n"

    # 合并范返回数据
    response = response_headers + response_body

    # 返回数据给客户端
    client_socket.send(response.encode("utf-8")) #转编码utf8并发送给客户端
    client_socket.close()


def main():
    # 创建套接字
    server_socket =socket(AF_INET,SOCK_STREAM)
    # 设置当服务区线close 即服务区段4此挥手之后资源能够立即释放,保证了下次运行程序时可以立即绑定7788端口
    server_socket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
    # 设置监听端口
    server_socket.bind(("",7788))
    # 使用socket创建爱你的套接字默认的属性是主动的,使用listen将其改为被动,用来监听连接
    server_socket.listen(128) # 最大连接数
    # while循环处理访问过来的请求
    while True:
        # 如果有新客户端来连接服务端,就生成一个新的套接字单独为按这个客户端服务
        # client_socket用来为这个客户端服务
        # server_socket专门等待其他新的客户端连接 while True:
        client_socket,clientAddr = server_socket.accept()
        handle_client(client_socket)
        print("正在监听中")

if __name__ == '__main__':
    main()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值