zoukankan      html  css  js  c++  java
  • 用socket写一个简单的服务器

    import socket

    sk=socket.socket()

    sk.bind(("127.0.0.1",7001))

    sk.listen()

    def login(url):
    with open('login.html','rb') as f:
    return f.read()
    def index(url):
    with open('index1.html','rb') as f:
    return f.read()

    def mng(url):
    with open('bootstrap/dist/js/bootstrap.js', 'rb') as f:
    return f.read()
    def css(url):
    with open('bootstrap/dist/css/bootstrap.css', 'rb') as f:
    return f.read()
    def js(url):
    with open('jquery-3.2.1.min.js', 'rb') as f:
    return f.read()
    li=[
    ('/login/', login),
    ('/index/', index),
    ('/jquery-3.2.1.min.js/', js),
    ('/bootstrap.css/', css),
    ('/bootstrap.js/', mng),

    ]
    while True:
    conn,addr =sk.accept()
    data = conn.recv(1024)
    print(data)
    url = data.decode("utf-8").split()[1]第一个是get请求方法 所以去第二个url他的路由
    conn.send(b'HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 ')
    # elif path == '/meinv.png': # 返回图片
    # with open('meinv.png', 'rb') as f:
    # pic_data = f.read()
    # # conn.send(b'HTTP/1.1 200 ok ')
    # conn.send(pic_data)
    # conn.close()
    # elif path == '/test.css': # 返回css文件
    # with open('test.css', 'rb') as f:
    # css_data = f.read()
    # conn.send(css_data)
    # conn.close()

    # elif path == '/wechat.ico': # 返回页面的ico图标
    # with open('wechat.ico', 'rb') as f:
    # ico_data = f.read()
    # conn.send(ico_data)
    # conn.close()
    #
    # elif path == '/test.js': # 返回js文件
    # with open('test.js', 'rb') as f:
    # js_data = f.read()
    # conn.send(js_data)
    # conn.close()
    for i in li:
    if i[0]==url:
    res=i[1](url)
    break
    else:
    res = b'404'
    conn.send(res)
    # conn.close()
  • 相关阅读:
    LeetCode#191 Number of 1 Bits
    敏捷编程
    过程模型
    磁盘阵列
    RAM和ROM
    cache
    局部性原理
    栈的应用(一)——括号的匹配
    猫狗收养问题
    全局变量和局部变量
  • 原文地址:https://www.cnblogs.com/huhuxixi/p/10602947.html
Copyright © 2011-2022 走看看