Junior — Middle
Може ли да се изпрати файл чрез HTTP заявка с метод GET?
sobes.tech AI
Отговор от AI
Прехвърлянето на файл чрез HTTP GET заявка е технически възможно, но силно се препоръчва да не се прави и практически не се използва.
Причини:
- Методът GET е предназначен за получаване на ресурси, а не за прехвърляне на големи обеми данни.
- В URL (където се предават параметрите GET) има ограничение на дължината, обикновено около 2000 символа.
- Файловете обикновено са твърде големи, за да се поберат в URL.
Правилният начин за прехвърляне на файл е използването на метода POST с multipart/form-data, където файлът се изпраща в тялото на заявката.
Пример за прехвърляне на файл чрез POST в Python с requests:
import requests
files = {'file': open('example.txt', 'rb')}
response = requests.post('http://example.com/upload', files=files)
print(response.status_code)
Затова за прехвърляне на файлове използвайте POST, а не GET.