Sobes.tech
Junior — Middle

É possível transmitir um ficheiro através de uma requisição HTTP usando o método GET?

sobes.tech IA

Resposta da IA

Transferir um ficheiro através de uma requisição HTTP GET é tecnicamente possível, mas altamente desaconselhado e praticamente não utilizado.

Razões:

  • O método GET destina-se a obter recursos, não a transferir grandes volumes de dados.
  • Há uma limitação de comprimento na URL (onde os parâmetros GET são passados), geralmente cerca de 2000 caracteres.
  • Os ficheiros são geralmente demasiado grandes para caber na URL.

A forma correta de transferir um ficheiro é usar o método POST com multipart/form-data, onde o ficheiro é enviado no corpo da requisição.

Exemplo de transferência de ficheiro via POST em Python com requests:

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

Portanto, para transferir ficheiros, use POST em vez de GET.