Sobes.tech
Junior — Middle

È possibile trasferire un file tramite una richiesta HTTP GET?

sobes.tech AI

Risposta dell'AI

Trasferire un file tramite richiesta HTTP GET è tecnicamente possibile, ma fortemente sconsigliato e praticamente non utilizzato.

Motivi:

  • Il metodo GET è destinato a ottenere risorse, non a trasferire grandi volumi di dati.
  • Esiste un limite di lunghezza nell'URL (dove vengono passati i parametri GET), di solito intorno a 2000 caratteri.
  • I file sono generalmente troppo grandi per entrare nell'URL.

Il modo corretto per trasferire un file è usare il metodo POST con multipart/form-data, dove il file viene inviato nel corpo della richiesta.

Esempio di trasferimento di un file tramite POST in Python con requests:

import requests
files = {'file': open('example.txt', 'rb')}
response = requests.post('http://example.com/upload', files=files)
print(response.status_code)

Pertanto, per trasferire file, usa POST invece di GET.