zoukankan      html  css  js  c++  java
  • 发送http请求解析客户端发来的数据03(包括python中socket的解释)

    功能:实现使用python充当服务器

    然后写好端口,ip地址等,在浏览器上输入http://ip地址:端口号/想要打开的内容+回车,跳转到你想运行的程序或者界面

    (可能是一个函数,或者是一个界面或是网页等等)

    如下,是一个简单的网页,在浏览器输入http://127.0.0.1:6699/index.html

     python中的代码如下设计(注,我也是在网上看的别人写的,为后面自己写邮件的那个程序做铺垫):

    # 编写人:Jaoany
    # 开发时间:2021/7/23 15:57
    # ! /usr/bin/env python
    # -*- coding=utf-8 -*-

    import socket # 用套接字编程

    serverPort = 6699
    bind_ip = "127.0.0.1" # 设置端口号和本地ip
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind((bind_ip, serverPort))
    server.listen(5)
    print('the server is ready to receive')

    def get_headers(line_list):
    headers = {}
    for line in line_list:
    new_line = line.decode('utf8')
    index = new_line.find(':')
    key = new_line[:index]
    value = new_line[index + 1:].strip()
    headers[key] = value
    return headers


    # 动态获取请求报文需要的资源
    while True:

    client, addr = server.accept()
    print
    "Accepted connection from: %s:%d" % (addr[0], addr[1])
    try:
    sentence = client.recv(1024)
    filename = sentence.split()[1]
    # r"index.html", "r" 读取本地文件
    f = open('C:/Users/Jaoany/Desktop/工作/发邮件接口' + filename.decode('utf-8'), 'rb')
    line_list = sentence.split(b' ')
    headers = get_headers(line_list)
    for i in line_list:
    print(i)
    accept = str(headers.get('Accept').split(',')[0].strip())

    outputdata = f.read()
    header = ' HTTP/1.1 200 OK '
    'Connection: close '
    'Content-Type: ' + accept + ' '
    'Content-Length: %d ' % (len(outputdata)) # 长度设置 important

    client.send(header.encode() + outputdata)
    client.close()
    except IOError:
    header = ' HTTP/1.1 404 Not Found'
    client.send(header.encode())

    本文来自博客园,作者:Jaoany,转载请注明原文链接:https://www.cnblogs.com/fanglijiao/p/15049873.html

  • 相关阅读:
    【转】MySQL导入数据乱码的分析与解决
    查看MySQL的warning
    修改MySQL字符集
    【转】PHP乱码问题,UTF8(乱码)
    马哥Linux——第一周作业
    马哥Linux——第二周作业
    .Net内部运行过程
    Html那些事
    面向对象图解、类型转换图解,写给.Net新手
    javascript对于DOM加强
  • 原文地址:https://www.cnblogs.com/fanglijiao/p/15049873.html
Copyright © 2011-2022 走看看