0

使用带有 urllib2 请求的 urllib2.open 将 xml 发布到站点时出现错误。我将数据参数设置为我需要发布的 xml 字符串,但我得到的错误是“XML 数据未在 POST 参数“xml”中发送。

有谁知道如何设置数据以使其出现在命名的“后参数”中?

谢谢你的帮助

代码是这样的:

req = urllib2.request(url=theurl,data = xml,headers = {'Content-type': 'application/xml'}
response = urllib2.urlopen(req)

其中 xml 只是带有原始 xml 的字符串

如果我打印 req.data 它会给出我想要发布的 xml。但是接收站点希望在一个名为“xml”的 POST 参数中使用它。我不知道如何控制它。

4

1 回答 1

1

data应该是'parameter_name': value-type的字典

url = 'http://www.someserver.com/some/handler'
values = {'name' : 'Some Name',
          'location' : 'SomeCity',
          'xml': your_xml}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
于 2012-08-29T20:27:15.273 回答