Czy ktoś ma prosty przykład wysłania żądania XML POST do RESTful API z Pythonem? Próbuję użyć biblioteki Python urllib2 do "utworzenia nowego projektu" w interfejsie API Harvest, bez powodzenia. Zmienna ładowność jest poprawnym dokumentem XML, który jest blisko kopiowanie/wklejanie ich dokumentacji (pod pozycją Create New Project) przedstawiono poniżej:XML POST REST Żądanie za pomocą Pythona
http://www.getharvest.com/api/projects
Oto kod próbuję wykonać.
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
otrzymam kod odpowiedzi 200 (stan OK) zamiast kodu odpowiedzi 201 (utworzone) ... jest to pytanie do chłopaków zbiorów wsparcia?
Wszelkie wskazówki, które ktoś ma, byłyby bardzo cenione.
Dzięki, Jeff.