【问题标题】:Making a plain ASCII/UTF-8 request/stream HTTP POST request in Python?在 Python 中制作普通的 ASCII/UTF-8 请求/流 HTTP POST 请求?
【发布时间】:2010-11-01 00:32:01
【问题描述】:

我正在阅读有关我正在尝试使用的服务的一些文档,它的内容如下:

所有请求都必须使用 HTTP Post 发送。

XML 引擎只接受纯 ASCII(文本)UTF-8 请求/流。不接受编码流。

所有请求/响应都是 XML。

但我真的不明白它要求什么。从我在HTTP POST in Python 上阅读的内容来看,您仍然需要对 key=value 对进行编码以发出请求,听起来他们只想要纯 XML 本身(也许是一个多部分?我很困惑)。他们是否给了我足够的信息,而我只是从根本上误解了他们的文档,还是我应该询问更多细节?

【问题讨论】:

    标签: python http


    【解决方案1】:

    使用urllib2.Request

    import urllib2
    req = urllib2.Request("http://foo.com/post_here", "<xml data to post>")
    response = urllib2.urlopen(req)
    the_page = response.read()
    

    【讨论】:

      【解决方案2】:

      “plain ASCII UTF-8”在术语上是矛盾的,恕我直言——不过,ASCII 是 UTF-8 的子集。尝试发送包含一些“特殊”(非 ASCII)字符的 UTF-8,看看会发生什么(或者,如果可以的话,请他们改写所说的 contradition-in-terms!-)。

      【讨论】:

      • 我认为他们只是缺少一个“或”。我认为您不理解我的困惑 - 我不知道如何发送 ASCII 或 UTF-8 请求,只知道如何发送 key=value 请求......只是一般情况下感到困惑。
      • @Roger:甚至“或”都不合适:可以只说“UTF-8”,这意味着也允许使用 ASCII,因为 UTF-8 包含 ASCII。
      猜你喜欢
      • 1970-01-01
      • 2020-03-28
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      相关资源
      最近更新 更多