Junior — Middle
Is it possible to transfer a file via HTTP request using the GET method?
sobes.tech AI
Answer from AI
Passing a file via an HTTP GET request is technically possible, but it is highly discouraged and rarely used.
Reasons:
- The GET method is intended for retrieving resources, not for transmitting large amounts of data.
- There is a limit on the length of parameters in the URL (where GET parameters are passed), usually around 2000 characters.
- Files are typically too large to fit in a URL.
The correct way to transmit a file is to use the POST method with multipart/form-data, where the file is sent in the request body.
Example of transmitting a file via POST in Python with requests:
import requests
files = {'file': open('example.txt', 'rb')}
response = requests.post('http://example.com/upload', files=files)
print(response.status_code)
Thus, use POST rather than GET for file transmission.