2011-03-15 18 views

Respuesta

26

Una combinación de métodos de urllib2 y urllib hará el truco. Aquí es cómo puedo enviar datos a través de los dos:

post_data = [('name','Gladys'),]  # a sequence of two element tuples 
result = urllib2.urlopen('http://example.com', urllib.urlencode(post_data)) 
content = result.read() 

urlopen() es un método que se utiliza para la apertura de URLs. urlencode() convierte los argumentos en cadenas porcentuales.

4

Usted puede utilice urllib2 en django. Después de todo, todavía es python. Para enviar un POST con urllib2, puede enviar el parámetro data (tomado de here):

urllib2.urlopen (url [, datos] [, tiempo de espera])

[..] la petición HTTP será una POST en lugar de un GET cuando se proporcione el parámetro de datos

22

Así es como se escribiría el ejemplo de la respuesta aceptada utilizando python-requests:

post_data = {'name': 'Gladys'} 
response = requests.post('http://example.com', data=post_data) 
content = response.content 

mucho más intuitivo. Consulte el Quickstart para obtener ejemplos más simples.

Cuestiones relacionadas