Puis-je publier des données avec python demandes lib avec http-gzip ou deflate de compression?
- Je utiliser la demande-module de python 2.7 afficher un plus grand bloc de données pour un service que je ne peux pas changer. Puisque les données sont essentiellement du texte, il est grand mais serait compresser assez bien. Le serveur va accepter de gzip ou deflate-encodage, mais je ne sais pas comment instruire les demandes de POSTE et de coder correctement les données automatiquement.
Est-il un exemple minimal disponible, qui montre comment cela est possible?
- Ne semble pas comme il est possible, avez-vous regardé ceci et ceci ?
- Non, mais ce n'est pas pertinente, car je ne suis pas intéressé de savoir si il est possible en soi (ce qui est), mais si c'est possible avec python "demande"-module.
- Pouvez-vous poster un exemple minimal de la façon dont vous le faites maintenant, sans compression? Je suis spécifiquement curieux de savoir si vous utilisez
data=
dans lerequests.post()
appel. - les demandes.post(url, params=params_dict, data=json_string, headers=headers_dict)
Vous devez vous connecter pour publier un commentaire.
J'ai testé la solution proposée par Robᵩ, avec quelques modifications et il fonctionne.
PSEUDO-code (désolé j'ai extrapolé à partir de mon code j'ai donc dû couper quelques parties et je n'ai pas testé, de toute façon vous pouvez obtenir votre idée)
Je ne peux pas obtenir que cela fonctionne, mais vous pourriez être en mesure d'insérer les données gzip dans un préparés à la demande:
Pour python 3:
J'avais besoin de mes postes à chunked, depuis que j'ai eu plusieurs très gros fichiers en cours de téléchargement en parallèle. Voici une solution je suis venu avec.