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.