2011-03-15 5 views

Répondre

26

Une combinaison de méthodes d'urllib2 et d'urllib fera l'affaire. Voici comment je posterai des données en utilisant les deux:

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

urlopen() est une méthode que vous utilisez pour ouvrir urls. urlencode() convertit les arguments en chaîne codée en pourcentage.

4

Vous pouvez utiliser urllib2 dans django. Après tout, c'est toujours python. Pour envoyer un POST avec urllib2, vous pouvez envoyer le paramètre data (extrait de here):

urllib2.urlopen (url [données] [, timeout])

[..] la requête HTTP sera un POST au lieu d'un GET lorsque le paramètre data est fourni

22

Voici comment vous écririez l'exemple de la réponse acceptée à l'aide python-requests:

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

beaucoup plus intuitive. Voir le Quickstart pour des exemples plus simples.

Questions connexes