Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2025

ProgramaçãoLinguagens 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.
  1. Ameu_ _token = "xyz123"x = {"Authorization": f"Bearer {meu_token}"}y = requests.get(url, headers=x)
  2. Bmeu_token = "xyz123"x = {"Authorization": f"Bearer {meu_token}"}y = requests.get(url, params=x)
  3. Cmeu_token = "xyz123"x = {"Authorization": meu_token}y = requests.get(url, headers=x)
  4. Dmeu_token = "xyz123"x = {"access_token": meu_token}y = requests.get(url, params=x)
  5. Emeu_token = "xyz123"x = {"Authentication": f"Bearer {meu_token}"}y = requests.get(url, headers=x)
Revelar gabarito e comentário

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.

Gabarito: letra A.

Link permanente: /questoes/fg106584