python 开启http端口web服务

本文展示了两种方法用Python搭建HTTP服务。第一种利用内置的HTTPServer和BaseHTTPRequestHandler创建GET和POST接口,返回JSON格式的数据。第二种采用Tornado框架的RequestHandler实现简单的GET请求响应。这些代码可用于模拟接口测试,返回预设数据。
摘要由CSDN通过智能技术生成

方法一: 

# -*- coding:utf-8 -*-

from http.server import HTTPServer, BaseHTTPRequestHandler
import urllib
import json

'''========【http端口服务】========'''


class HttpHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        path, args = urllib.parse.splitquery(self.path)
        self._response(path, args)

    def do_POST(self):
        args = self.rfile.read(int(self.headers['content-length'])).decode("utf-8")
        self._response(self.path, args)

    def _response(self, path, args):
        # 组装参数为字典
        if args:
            args = urllib.parse.parse_qs(args).items()
            args = dict([(k, v[0]) for k, v in args])
        else:
            args = {}
        # 设置响应结果
        result = {"status":0,"msg":"操作成功","data":[{"page_id":1},{"page_id":2}]}
        self.send_response(200)
        self.send_header('Content-type', 'application/json')
        self.end_headers()
        self.wfile.write(json.dumps(result).encode()) 

if __name__ == '__main__':
    # 开启http服务,设置监听ip和端口
    httpd = HTTPServer(('', 8787), HttpHandler)  
    httpd.serve_forever()
    # 运行后 http://localhost:8787 即可访问该接口

方法2:

import tornado.ioloop
import tornado.web


class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("c=" + str(55))


# application = tornado.web.Application([(r"/add", MainHandler), ])
application = tornado.web.Application([(r"", MainHandler), ])

if __name__ == "__main__":
    application.listen(8868)
    tornado.ioloop.IOLoop.instance().start()

以上代码可用来mock测试过程中返回指定的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值