J’ai besoin de télécharger des données vers un serveur à l’aide de HTTP en python. De ma brève lecture de la documentation urllib2, il ne le fait HTTP
. Est-il possible de faire un HTTP `` en python ?
Réponses
Trop de publicités?J'ai utilisé une variété de python HTTP libs dans le passé, et je l'ai réglé sur"Demandes"comme mon préféré. Existant libs avait à peu utilisable interfaces, mais le code peut être quelques lignes trop longues pour des opérations simples. Une base de METTRE en demandes ressemble:
payload = {'username': 'bob', 'email': 'bob@bob.com'}
>>> r = requests.put("http://somedomain.org/endpoint", data=payload)
Vous pouvez ensuite vérifier le code d'état de réponse:
r.status_code
ou la réponse:
r.content
Demandes a beaucoup synactic de sucre et de raccourcis qui va rendre votre vie plus facile.
Vous devriez jeter un oeil sur le module httplib. Il devrait vous permettre de faire toute sorte de requête HTTP que vous voulez.
J’avais besoin résoudre ce problème aussi un peu en arrière afin que je puisse agir comme un client pour une API RESTful. Je me suis installé sur httplib2 parce que cela m’a permis d’envoyer PUT et DELETE outre GET et POST. Httplib2 ne fait pas partie de la bibliothèque standard, mais vous pouvez l’obtenir facilement de la fromagerie.