Python HTTPServer - 获取HTTP正文

时间:2016-07-19 12:54:29

标签: python httpserver

我使用python编写了一个HTTP服务器,但我不知道如何获取HTTP正文。我该怎么做才能获得HTTP正文?

这是我的代码:

from http.server import HTTPServer,BaseHTTPRequestHandler

class MyHTTPHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        print("connect from ",self.client_address)
        print(self.headers)
        length = self.headers['Content-Length']
        print(length)

addr = ('',21567)
server = HTTPServer(addr,MyHTTPHandler)
server.serve_forever()

1 个答案:

答案 0 :(得分:1)

在GET请求中拥有请求正文并不是一个好习惯,如下所述:HTTP GET with request body

相反,您可以将方法更改为POST 并在那里查看from itertools import chain, combinations def range_powerset(n: int): s = list(range(n)) return chain.from_iterable(combinations(s, r) for r in range(len(s)+1)) def indicator(A: Iterable, B: Iterable): return tuple(i in A for i in B) def fill2(n: int): return (indicator(i, range(n)) for i in range_powerset(n)) 文档:https://docs.python.org/2/library/basehttpserver.html

特别是这部分:

  

的RFile

     

包含一个输入流,位于可选输入数据的开头。