¿Alguien tiene un ejemplo simple de enviar una solicitud XML POST a una API RESTful con Python? Estoy tratando de usar la biblioteca de urllib2 Python para "crear un nuevo proyecto" en la API de Harvest, sin suerte. La variable de carga útil es un documento XML válido que es una copia cerca/pegar de su documentación (bajo la rúbrica Crear nuevo proyecto) que se muestra aquí:XML POST REST Request using Python
http://www.getharvest.com/api/projects
Aquí está el código que estoy tratando de ejecutar.
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
he recibido un código de respuesta 200 (OK Status) en lugar de un código de respuesta 201 (creados) ... Es esta una pregunta para los chicos soporte a la cosecha?
Cualquier sugerencia que alguien tenga sería muy apreciada.
Gracias, Jeff.