Questão de Programação — Linguagens de programação — FGV 2025
Programação›Linguagens de programação
Código
fg106584
Banca
FGV
Órgão
CGE-SP
Ano
2025
Nível
Superior
Cargo
Auditor Estadual de Controle - Tecnologia da Informação - tarde
No contexto de automação e integração via API REST em scripts Python com a biblioteca requests, uma API exige que o token de acesso seja enviado no cabeçalho HTTP Authorization usando o esquema Bearer.
A assinale a opção cujo trecho envia corretamente o token em uma requisição GET.
GabaritoA — meu_ _token = "xyz123"
x = {"Authorization": f"Bearer {meu_token}"}
y = requests.get(url, headers=x)
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Envio de token Bearer em requisição GET com a biblioteca requests
Gabarito: letra A. A única alternativa que envia corretamente o token no cabeçalho HTTP Authorization com o esquema Bearer e utiliza o parâmetro headers é a opção A. A biblioteca requests do Python exige que o token seja passado como um dicionário de cabeçalhos, contendo a chave "Authorization" com o valor "Bearer {token}". O uso do parâmetro params (opção B e D) insere os dados na query string da URL, não nos cabeçalhos – isso viola o protocolo OAuth2. As opções C (sem "Bearer" no valor) e E (cabeçalho "Authentication" em vez de "Authorization") também estão incorretas.
Alternativa A — ✅ Correta ⟵ GABARITO
Define o token e cria um dicionário x com a chave Authorization e o valor formatado como f"Bearer {meu_token}". Em seguida, passa esse dicionário como argumento headers da requisição GET. Isso atende exatamente ao que a API espera. (A pequena diferença de nome da variável – meu_ _token vs meu_token – é um artefato de digitação no enunciado; a intenção é consistente e o código é o único que acerta a estrutura.)
Alternativa B — ❌ Incorreta
Apesar de o cabeçalho Authorization e o valor estarem corretos, o dicionário é passado como params, não como headers. Isso insere os dados na URL como parâmetros de query string (ex.: ?Authorization=Bearer%20xyz123), e não no cabeçalho HTTP. A API não encontrará o token onde espera.
Alternativa C — ❌ Incorreta
Usa headers corretamente, mas o valor contém apenas o token bruto ("xyz123") sem o prefixo "Bearer ". Para o esquema Bearer, o valor deve ser exatamente "Bearer xyz123". Faltou a formatação.
Alternativa D — ❌ Incorreta
Define a chave errada (access_token em vez de Authorization) e ainda usa o parâmetro params, que não envia dados no cabeçalho. Duplamente errada.
Alternativa E — ❌ Incorreta
O cabeçalho está escrito como "Authentication", mas o padrão HTTP/1.1 (RFC 7235) define o campo como Authorization. A API não reconhecerá essa chave.
PEGA ESSA DICA!
Em APIs REST que usam token Bearer, lembre-se:
Cabeçalho: Authorization
Valor: Bearer {token}
Parâmetro da requests: headers={...}
Confundir headers com params ou omitir a palavra "Bearer" são os erros mais comuns em provas.