Sobes.tech
Junior — Middle

Kas on võimalik faili edastada HTTP GET-päringuga?

sobes.tech AI

Vastus AI-lt

Faili HTTP GET päringuga edastamine on tehniliselt võimalik, kuid seda väga ei soovitata ning praktiliselt ei kasutata.

Põhjused:

  • GET meetod on mõeldud ressursside saamiseks, mitte suurte andmemahtude edastamiseks.
  • URL-is (kus GET parameetreid edastatakse) on pikkuse piirang, tavaliselt umbes 2000 märki.
  • Failid on tavaliselt liiga suured, et mahutada URL-i.

Õige viis faili edastamiseks on kasutada POST meetodit koos multipart/form-data-ga, kus fail saadetakse päringu kehasse.

Näide faili edastamisest POST-iga Pythonis requests abil:

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

Seetõttu kasutage failide edastamiseks POST-i, mitte GET-i.