Est-ce que quelqu'un a un exemple simple d'envoyer une requête POST XML à une API RESTful avec Python? J'essaie d'utiliser la bibliothèque urllib2 Python pour "créer un nouveau projet" dans l'API Harvest, sans aucune chance. La variable de la charge utile est un document XML valide qui est un proche de copier/coller de leur documentation (sous la Créer un nouveau titre du projet) montré ici:XML POST REST Demande utilisant Python
http://www.getharvest.com/api/projects
Voici le code que je suis en train d'exécuter.
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
Je reçois un code de réponse 200 (état OK) au lieu d'un code de réponse 201 (créé) ... est-ce une question pour les gars de soutien récolte?
Toute indication que quelqu'un a serait grandement appréciée.
Merci, Jeff.