Demandes - Téléchargement de fichiers

Dans ce chapitre, nous téléchargerons un fichier à l'aide de request et lirons le contenu du fichier téléchargé. Nous pouvons le faire en utilisant lefiles param comme indiqué dans l'exemple ci-dessous.

Nous utiliserons le http://httpbin.org/post pour télécharger le fichier.

Exemple

import requests
myurl = 'https://httpbin.org/post'
files = {'file': open('test.txt', 'rb')}
getdata = requests.post(myurl, files=files)
print(getdata.text)

Test.txt

File upload test using Requests

Production

E:\prequests>python makeRequest.py
{
   "args": {},
   "data": "",
   "files": {
      "file": "File upload test using Requests"
   },
   "form": {},
   "headers": {
      "Accept": "*/*",
      "Accept-Encoding": "gzip, deflate",
      "Content-Length": "175",
      "Content-Type": "multipart/form-data; 
      boundary=28aee3a9d15a3571fb80d4d2a94bfd33",
      "Host": "httpbin.org",
      "User-Agent": "python-requests/2.22.0"
   },
   "json": null,
   "origin": "117.223.63.135, 117.223.63.135",
   "url": "https://httpbin.org/post"
}

Il est également possible d'envoyer le contenu du fichier comme indiqué ci-dessous -

Exemple

import requests
myurl = 'https://httpbin.org/post'
files = {'file': ('test1.txt', 'Welcome to TutorialsPoint')}
getdata = requests.post(myurl, files=files)
print(getdata.text)

Production

E:\prequests>python makeRequest.py
{
   "args": {},
   "data": "",
   "files": {
      "file": "Welcome to TutorialsPoint"
   },
   "form": {},
   "headers": {
      "Accept": "*/*",
      "Accept-Encoding": "gzip, deflate",
      "Content-Length": "170",
      "Content-Type": "multipart/form-data; 
      boundary=f2837238286fe40e32080aa7e172be4f",
      "Host": "httpbin.org",
      "User-Agent": "python-requests/2.22.0"
   },
   "json": null,
   "origin": "117.223.63.135, 117.223.63.135",
   "url": "https://httpbin.org/post"
}