Télécharger des fichiers avec des requêtes Python : gestion de la taille des fichiers et des problèmes de transfert
Dans cet article, nous expliquons comment télécharger efficacement des fichiers à l'aide de Python. Bibliothèque de requêtes. La possibilité de télécharger des fichiers est cruciale pour diverses applications dans lesquelles vous devez transférer des données vers des serveurs distants.
Énoncé du problème
Un utilisateur a rencontré un problème où le fichier se trouvait le téléchargement à l’aide de request.post n’a pas été reçu par le serveur. L'utilisateur a fourni du code démontrant sa tentative, mais le fichier est resté vide et inaccessible.
Solution
Le problème réside dans la syntaxe de définition du paramètre de fichier dans les requêtes. méthode de publication. Pour spécifier le fichier, vous devez utiliser directement le paramètre files, plutôt que de mélanger la valeur upload_file dans le dictionnaire des valeurs.
Code révisé
Voici le code mis à jour qui résout le problème :
import requests url = 'http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post' files = {'upload_file': open('file.txt', 'rb')} values = {'DB': 'photcat', 'OUT': 'csv', 'SHORT': 'short'} r = requests.post(url, files=files, data=values)
Dans ce scénario, les fichiers font spécifiquement référence aux données de fichiers, tandis que les valeurs sont utilisées pour les données non-fichiers. Le paramètre upload_file est géré par les requêtes en interne.
Considérations supplémentaires
La solution suggère d'utiliser le paramètre files directement, mais on peut également fournir un tuple comme valeur, notamment nom de fichier, contenu, type de contenu et en-têtes facultatifs.
Par exemple :
files = {'upload_file': ('foobar.txt', open('file.txt', 'rb'), 'text/x-spam')}
Si vous Si vous avez l'intention de télécharger l'intégralité du corps du POST sous forme de fichier, évitez d'utiliser des fichiers. Au lieu de cela, publiez le fichier directement en tant que données et envisagez de définir l'en-tête Content-Type pour garantir une bonne gestion par le serveur.
En suivant ces modifications, vous pouvez télécharger efficacement des fichiers à l'aide de requêtes Python, garantissant ainsi des transferts réussis et activant vous permettant d'exploiter les capacités de transfert de fichiers dans vos applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!