#!/usr/bin/python
# -*- coding: utf-8 -*-
# 声明源码的编码方式位utf-8

import sys
from BaseHTTPServer import HTTPServer
from BaseHTTPServer import BaseHTTPRequestHandler


class simpleHttpHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        # 响应成功
        self.send_response(200)
        encode = "UTF-8"
        self.send_header("Content-Type", "text/html:charset=%s" % encode)
        # 读取文件,发送文件内容
        f = open("./simple_file.txt", "r")
        strs = f.read()
        self.send_header("Content-Length", str(len(strs)))
        self.end_headers()
        self.wfile.write(strs)

    def do_POST(self):
        # 响应成功
        self.send_response(200)
        encode = "UTF-8"
        self.send_header("Content-Type", "text/html:charset=%s" % encode)
        # 读取文件,发送文件内容
        f = open("./simple_file.txt", "r")
        strs = f.read()
        self.send_header("Content-Length", str(len(strs)))
        self.end_headers()
        self.wfile.write(strs)

        # 从缓冲区中读,并输出到屏幕
        length = int(self.headers.getheader("content-length"))
        content = self.rfile.read(length)
        print("Content-Length="+str(length))
        print(content)

# 端口 9090


def StartServer():
    httpd = HTTPServer(('', 9090), simpleHttpHandler)
    print("Server started port 9090.....")
    httpd.serve_forever()


if __name__ == '__main__':
    StartServer()

客户端测试脚本

  1. 测试GET请求
 curl http://127.0.0.1:9090
  1. 测试POST请求
curl - X POST http://127.0.0.1:9090 -d 'Hello Kitty'

另外也要往 simple_file.txt 文件中填充要返回的内容

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐