У кого-нибудь есть простой пример отправки запроса XML POST в API RESTful с Python? Я пытаюсь использовать библиотеку Python urllib2 для «создания нового проекта» в API Harvest, но безуспешно. Переменная полезной нагрузки является действительным XML-документом, который является почти копией / вставкой их документации (под заголовком «Создать новый проект»), показанной здесь:
http://www.getharvest.com/api/projects
Вот код, который я пытаюсь выполнить.
def postRequest():
""" Makes POST request to url, and returns a response. """
url = 'http://subdomain.harvestapp.com/projects'
opener = urllib2.build_opener()
opener.addheaders = [('Accept', 'application/xml'),
('Content-Type', 'application/xml'),
('Authorization', 'Basic %s' % base64.encodestring('%s:%s' % (self.username, self.password))[:-1]),
('User-Agent', 'Python-urllib/2.6')]
req = urllib2.Request(url=url, data=payload)
assert req.get_method() == 'POST'
response = self.opener.open(req)
print response.code
return response
Я получаю код ответа 200 (Статус в норме) вместо кода ответа 201 (Создан) ... Это вопрос для парней из службы поддержки уборки урожая?
Любые намеки, которые кто-либо имеет, будут с благодарностью.
Спасибо,
Джефф.