解码do_POST(python3)

时间:2019-04-16 15:29:46

标签: python post python-requests basehttprequesthandler

我正在尝试在Python3中设置一个简单的HTTPServer来上传文件,而我却受制于编码(我想)。 这是服务器代码:

class RequestHandler(http.server.BaseHTTPRequestHandler):
    def do_POST(self):
        img_bytes = self.rfile.read(int(self.headers.get('Content-Length')))
        # I DON'T KNOW WHAT TO DO HERE
        self.send_response_only(200)
        self.end_headers()

PORT = 8000
with socketserver.TCPServer(("", PORT), RequestHandler) as httpd:
    httpd.serve_forever()

客户端的请求:

requests.post("http://server_ip:port", files={"img": open("img.jpg", "rb")})

curl -d "@img.jpg" -X POST server_ip:port

给出相同的结果。

我想存储我在服务器上收到的图像,但是它的类型为“字节”,并且我尝试了几种.decode(...)方法,但均未成功。这是什么变量?还是一般来说,正确的方法是什么?

注意:我制作了一个版本,其中我encode()输入的图像数据,使用data参数传递,并在服务器端decode()传递。但是,如果要使用一个files参数似乎很难。

在此先感谢您的帮助或建议

0 个答案:

没有答案