在Python中如何发送普通的ASCII/UTF-8 HTTP POST请求?
我在阅读一个我想使用的服务的文档,里面写的内容大概是这样的:
所有请求必须使用HTTP Post发送。
这个XML引擎只接受普通的ASCII(文本)UTF-8请求/流。编码过的流是不被接受的。
所有的请求和响应都是XML格式。
但我真的不太明白它在说什么。从我在Python中的HTTP POST上看到的内容来看,发送请求时还是需要把键值对编码一下,而这里听起来他们只想要纯粹的XML(可能是作为一个多部分的请求?我非常困惑)。他们给的信息够吗?还是我根本就没理解他们的文档,应该再问他们要更多细节?
2 个回答
1
在我看来,“普通的ASCII UTF-8”这个说法是自相矛盾的。其实,ASCII是UTF-8的一部分。你可以试着发送一些包含“特殊”(非ASCII)字符的UTF-8内容,看看会发生什么。如果可以的话,也可以请他们重新表述一下这个自相矛盾的说法!
2
import urllib2
req = urllib2.Request("http://foo.com/post_here", "<xml data to post>")
response = urllib2.urlopen(req)
the_page = response.read()