一个简单的http server,处理get和post请求,Python实现

Posted zhangphil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的http server,处理get和post请求,Python实现相关的知识,希望对你有一定的参考价值。

一个简单的http server,能处理来自客户的get请求,以及post请求,Python实现。因为只是测试http服务器,代码只是把每次请求的数据打印出来,并返回一个响应ok的字符串。

from http.server import HTTPServer, BaseHTTPRequestHandler
import json

data = 'result': 'HTTP SERVER OK'
host = ('localhost', 19999)


class My_Server(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)

        # 发给请求客户端的响应数据
        self.send_header('Content-type', 'application/json')
        self.end_headers()
        self.wfile.write(json.dumps(data).encode())

    def do_POST(self):
        self.send_response(200)

        datas = self.rfile.read(int(self.headers['content-length']))
        print('headers', self.headers)
        print("-->> post:", self.path, self.client_address)
        print(datas)

        # 发给请求客户端的响应数据
        self.send_header('Content-type', 'application/json')
        self.end_headers()
        self.wfile.write(json.dumps(data).encode())


if __name__ == '__main__':
    server = HTTPServer(host, My_Server)
    print("server启动@ : %s:%s" % host)

    server.serve_forever()

以上是关于一个简单的http server,处理get和post请求,Python实现的主要内容,如果未能解决你的问题,请参考以下文章

Linux下HTTP Server

mybatis po对象是啥意

使用JSON处理GET和POST请求的简单Python服务器

Http 请求 GET和POST的区别

登录界面 Android简单http get请求(含server端)五 iOS端(特别篇)

AngularJS的$http服务的应用