отправка данных в XML API веб-службы - PullRequest
2 голосов
/ 27 сентября 2011

Я пытаюсь написать скрипт на python, который в основном взаимодействует с веб-сервисом, использующим API xml. Метод запроса POST.

Обычно я пишу запрос в форме request(url, data, headers) - однако в случае API xml это не сработает. Также что-то вроде data.encode ('utf-8') или urllib.urlencode (data) не будет работать, так как данные не являются диктатом.

В этом случае данные в формате xml, как я могу их переслать?

[EDIT] Когда я отправляю строку XML, я получаю исключение urllib2.HTTPError: HTTP Error 415: Unsupported Media Type. Есть ли другой способ, которым я должен отправить данные?

Кроме того, API Я использую API контактов Google. Я пытаюсь написать скрипт, который добавляет контакт в мою учетную запись gmail.

1 Ответ

1 голос
/ 09 марта 2012

Вам, вероятно, нужно установить правильный заголовок Content-Type, для XML это, вероятно, будет:

application/xml

Так что-то вроде этого должно помочь вам:

request = urllib2.Request( 'xml_api.example.com' )
request.add_header('Content-Type', 'application/xml')
response = urllib2.urlopen(request, xml_data_string)

Надеюсь, чтопомогает:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...