我正在尝试编写一个基本上与使用 xml api 的 web 服务交互的 python 脚本。请求方式为POST。
通常我会写一个 request(url, data, headers) 形式的请求 - 但是,在 xml api 的情况下,它不起作用。此外,像 data.encode('utf-8') 或 urllib.urlencode(data) 这样的东西也不起作用,因为数据不是字典。
在这种情况下,数据是 xml 那么我应该如何发送它呢?
[编辑] 当我发送一个 XML 字符串时,我收到一个 urllib2.HTTPError: HTTP Error 415: Unsupported Media Type 异常。我应该通过其他方式发送数据吗?
此外,我使用的 API 是 Google Contacts API。我正在尝试编写一个脚本,将联系人添加到我的 Gmail 帐户。
请您参考如下方法:
您可能需要设置正确的 Content-Type header ,对于 XML,它可能是:
application/xml
所以像这样的事情应该让你继续:
request = urllib2.Request( 'xml_api.example.com' )
request.add_header('Content-Type', 'application/xml')
response = urllib2.urlopen(request, xml_data_string)
希望对您有所帮助:)
