首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python3 http.server POST示例

Python3 http.server POST示例
EN

Stack Overflow用户
提问于 2010-01-23 08:29:38
回答 1查看 16.1K关注 0票数 21

我正在将Python2.6应用程序转换为Python3应用程序,但我被服务器卡住了。我已经设法让它能够很好地处理get请求,但POST继续躲避着我。这是我在2.6版本中开始使用的,但在3.x版本中,正常的服务器不处理POST请求。根据我对Python手册的阅读,我似乎必须使用CGI服务器类,并将脚本映射到该目录。我不想这样做,但我找不到其他方法。我是不是遗漏了什么?

代码语言:javascript
复制
def do_POST(self):
    ctype, pdict = cgi.parse_header(self.headers.get('content-type'))
    if ctype == 'multipart/form-data':
        query = cgi.parse_multipart(self.rfile, pdict)

    self.send_response(301)

    self.end_headers()
    upfilecontent = query.get('upfile')
    print("filecontent", upfilecontent[0])
    self.wfile.write("<HTML>POST OK.<BR><BR>");
    self.wfile.write(upfilecontent[0]);
EN

回答 1

Stack Overflow用户

发布于 2010-01-24 04:11:22

经过戳和几个多小时的谷歌搜索,我发现了以下作品。

代码语言:javascript
复制
def do_POST(self):
    length = int(self.headers['Content-Length'])
    post_data = urllib.parse.parse_qs(self.rfile.read(length).decode('utf-8'))
    # You now have a dictionary of the post data

    self.wfile.write("Lorem Ipsum".encode("utf-8"))

我很惊讶这是多么的简单。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2121481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档