在Python中制作纯ASCII / UTF-8请求/流HTTP POST请求?

时间:2009-06-07 16:05:38

标签: python http

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

  

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

     

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

所有请求/回复都是XML。

但我真的不明白它的要求。从我在HTTP POST in Python上阅读的内容来看,你仍然需要编码key = value对来发出请求,听起来他们只是想要普通的XML本身(作为一个多部分,也许?我很困惑) )。他们是否给了我足够的信息,我只是从根本上误解了他们的文件,或者我应该要求更多细节?

2 个答案:

答案 0 :(得分:2)

使用urllib2.Request

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

答案 1 :(得分:1)

“普通ASCII UTF-8”是一个矛盾,IMHO-ASCII是UTF-8的一个子集。尝试发送UTF-8,包括一些“特殊”(非ASCII)字符,看看会发生什么(或者,如果可以的话,请让他们重新说出所谓的反驳条款! - )。