Sobes.tech
Junior — Middle

Je možné odoslať súbor prostredníctvom HTTP požiadavky metódom GET?

sobes.tech AI

Odpoveď od AI

Prenos súboru prostredníctvom požiadavky HTTP GET je technicky možný, ale dôrazne sa neodporúča a prakticky sa nepoužíva.

Dôvody:

  • Metóda GET je určená na získavanie zdrojov, nie na prenos veľkých objemov dát.
  • V URL (kde sa odovzdávajú parametre GET) je obmedzenie dĺžky, zvyčajne okolo 2000 znakov.
  • Súbory sú zvyčajne príliš veľké na to, aby sa zmestili do URL.

Správny spôsob prenosu súboru je použiť metódu POST s multipart/form-data, kde je súbor odoslaný v tele požiadavky.

Príklad prenosu súboru cez POST v Pythone s requests:

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

Pre prenos súborov používajte POST namiesto GET.