Tengo dos scripts de Python. Uno usa la biblioteca Urllib2 y el otro usa la biblioteca Requests .
He encontrado que las solicitudes son más fáciles de implementar, pero no puedo encontrar un equivalente para la read()
función de urlib2 . Por ejemplo:
...
response = url.urlopen(req)
print response.geturl()
print response.getcode()
data = response.read()
print data
Una vez que he creado mi URL de publicación, data = response.read()
me proporciona el contenido: estoy tratando de conectarme a una instancia de la API de vcloud director y la respuesta muestra los puntos finales a los que tengo acceso. Sin embargo, si uso la biblioteca de solicitudes de la siguiente manera ...
....
def post_call(username, org, password, key, secret):
endpoint = '<URL ENDPOINT>'
post_url = endpoint + 'sessions'
get_url = endpoint + 'org'
headers = {'Accept':'application/*+xml;version=5.1', \
'Authorization':'Basic '+ base64.b64encode(username + "@" + org + ":" + password), \
'x-id-sec':base64.b64encode(key + ":" + secret)}
print headers
post_call = requests.post(post_url, data=None, headers = headers)
print post_call, "POST call"
print post_call.text, "TEXT"
print post_call.content, "CONTENT"
post_call.status_code, "STATUS CODE"
....
.... the print post_call.text
y print post_call.content
no devuelve nada, aunque el código de estado sea igual a 200 en las solicitudes posteriores a la llamada.
¿Por qué mi respuesta de Solicitudes no devuelve ningún texto o contenido?