0% acharam este documento útil (0 voto)
7 visualizações10 páginas

HTTP

O HTTP (Hypertext Transfer Protocol) é o protocolo fundamental que permite a comunicação entre navegadores e servidores na web, utilizando um modelo de solicitação e resposta. Desenvolvido por Tim Berners-Lee, o HTTP é um protocolo sem estado que facilita a transferência de dados, como páginas web e imagens, e é complementado por métodos como GET e POST. Para segurança, o HTTPS é utilizado, que criptografa as comunicações, enquanto cookies e sessões ajudam a manter o estado entre requisições.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações10 páginas

HTTP

O HTTP (Hypertext Transfer Protocol) é o protocolo fundamental que permite a comunicação entre navegadores e servidores na web, utilizando um modelo de solicitação e resposta. Desenvolvido por Tim Berners-Lee, o HTTP é um protocolo sem estado que facilita a transferência de dados, como páginas web e imagens, e é complementado por métodos como GET e POST. Para segurança, o HTTPS é utilizado, que criptografa as comunicações, enquanto cookies e sessões ajudam a manter o estado entre requisições.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

HTTP

Como a informação chega até o seu navegador quando você acessa um site?

O HTTP (Hypertext Transfer Protocol) é o coração da comunicação na World Wide Web. Ele é o protocolo
responsável por definir como os navegadores (clientes) e os servidores trocam informações. Toda vez que você
acessa um site, o navegador faz uma solicitação HTTP ao servidor onde esse site está hospedado. O servidor
então responde com um código de status e os dados solicitados, como textos, imagens e vídeos. O navegador
então interpreta essa resposta e exibe o conteúdo ao usuário.

Esse processo é possibilitado pelo HTTP, que define as regras de comunicação entre cliente e servidor,
garantindo que a troca de dados seja entendida por ambas as partes. A simplicidade do HTTP é o que o torna
essencial: ele segue um modelo de solicitação e resposta, no qual o cliente pede informações e o servidor
entrega. Essa estrutura é o que permite que milhões de páginas e serviços sejam acessíveis por meio de uma
simples URL, garantindo a comunicação rápida e eficiente que move a web. Cada vez que clicamos em um link
ou digitamos um endereço, é o HTTP que está facilitando essa troca, tornando a experiência de navegação
contínua e instantânea.

Essa é a essência do HTTP: um protocolo de solicitação-resposta que facilita a transferência de informações na


web.

História do HTTP

O HTTP foi desenvolvido por Tim Berners-Lee no CERN em 1989, e foi padronizado pela IETF (Internet
Engineering Task Force) em 1996. O HTTP é um protocolo simples e extensível, e é baseado no modelo de
requisição-resposta, onde um cliente faz uma requisição a um servidor, que responde com uma resposta. O
HTTP é um protocolo sem estado, o que significa que cada requisição é independente das outras, e o servidor
não mantém informações sobre requisições anteriores.

O que é HTTP?

O Protocolo de Transferência de Hipertexto (HTTP) é um protocolo de comunicação utilizado para transferir


informações na World Wide Web. O HTTP é a base da comunicação de dados na web, e é utilizado para
transferir páginas web, imagens, vídeos, arquivos, entre outros. O HTTP é um protocolo de camada de
aplicação, e é baseado no modelo cliente-servidor, onde um cliente faz uma requisição a um servidor, que
responde com uma resposta.

O HTTP é um protocolo de comunicação baseado em texto, e utiliza uma sintaxe simples para definir as
mensagens de requisição e resposta. As mensagens HTTP são compostas por uma linha de status, um
cabeçalho e um corpo. A linha de status define o status da requisição ou resposta, o cabeçalho define os
metadados da mensagem, como o tipo de conteúdo, a codificação, a data, entre outros, e o corpo define o
conteúdo da mensagem, como o HTML de uma página web, a imagem de um arquivo, o vídeo de um vídeo,
entre outros.

O que é uma sessão HTTP

O HTTP é um protocolo sem estado, o que significa que cada requisição é independente das outras, e o
servidor não mantém informações sobre requisições anteriores. Para manter o estado entre requisições, o
HTTP utiliza cookies e sessões. Os cookies são pequenos arquivos de texto armazenados no navegador do
cliente, e são utilizados para armazenar informações sobre o usuário, como preferências, autenticação, entre
outros. As sessões são uma forma de manter o estado entre requisições, e são armazenadas no servidor. As
sessões são identificadas por um ID de sessão, que é enviado para o cliente por meio de um cookie.

1
Cookies

Os cookies são pequenos arquivos de texto armazenados no navegador do cliente, e são utilizados para
armazenar informações sobre o usuário, como preferências, autenticação, entre outros. Os cookies são
enviados pelo servidor para o cliente por meio do cabeçalho Set-Cookie, e são enviados pelo cliente para o
servidor por meio do cabeçalho Cookie (falaremos sobre cabeçalhos a seguir). Os cookies são armazenados
no navegador do cliente e são enviados para o servidor em cada requisição subsequente.

Segurança no HTTP

O HTTP é um protocolo de comunicação inseguro, pois as mensagens são transmitidas em texto puro, o que
torna fácil para um atacante interceptar e modificar as mensagens. Para garantir a segurança das
comunicações, o HTTP utiliza o protocolo HTTPS (HTTP Secure), que é uma versão segura do HTTP baseada em
criptografia SSL/TLS. O HTTPS utiliza certificados digitais para autenticar os servidores e criptografar as
mensagens, garantindo a confidencialidade, integridade e autenticidade das comunicações.

Componentes do HTTP

O HTTP é composto por uma série de elementos que tornam possível a comunicação eficiente entre cliente e
servidor na web. Cada um deles desempenha um papel específico no processo de solicitação e resposta que
ocorre sempre que acessamos um site. A compreensão desses componentes é essencial para entender como
as informações são transferidas e exibidas na internet.

Métodos HTTP:

Os métodos HTTP, também chamados de "verbos HTTP", definem a ação que o cliente deseja realizar no
servidor. Esses métodos são a base da interação entre cliente e servidor, permitindo não só a visualização de
conteúdos, mas também a criação, atualização e remoção de dados. Eles definem a intenção de cada
solicitação HTTP, determinando o que será feito com os recursos no servidor. Os mais comuns são:

• GET: O método mais utilizado, solicita ao servidor o envio de um recurso, como uma página HTML, uma
imagem ou outro conteúdo. É uma requisição "segura" e "idempotente", o que significa que não altera
dados no servidor e pode ser repetida sem efeitos colaterais.
• POST: Utilizado para enviar dados ao servidor, como formulários de login ou cadastro. Diferente do GET, o
POST pode modificar informações no servidor, sendo utilizado para criar novos recursos ou atualizar
dados.
• PUT: Serve para atualizar ou substituir um recurso existente no servidor com dados fornecidos pelo
cliente. Também pode ser usado para criar recursos, se não existirem.
• DELETE: Como o nome sugere, solicita ao servidor que remova um recurso.
• HEAD: Semelhante ao GET, mas sem retornar o corpo da resposta. Serve para obter apenas os cabeçalhos
HTTP.
• OPTIONS: Esse método é usado para descrever as opções de comunicação disponíveis para um
determinado recurso no servidor. Ele retorna informações sobre quais métodos HTTP são permitidos para
o recurso e pode ser utilizado, por exemplo, para verificar se o servidor aceita um método específico antes
de enviar uma solicitação real.
• PATCH: Utilizado para fazer atualizações parciais em um recurso, modificando apenas parte de seus dados.
• TRACE: Realiza um teste de loopback no servidor. Serve para depuração de comunicação. O TRACE solicita
ao servidor que retorne a solicitação recebida exatamente como foi enviada. Isso permite ao cliente
verificar se algum intermediário (como proxies ou firewalls) está alterando a mensagem.
• CONNECT: Esse método é usado principalmente para estabelecer um túnel de comunicação com o
servidor, geralmente para uso em conexões seguras (HTTPS). Quando o CONNECT é utilizado, o cliente

2
solicita ao servidor que configure um túnel de comunicação para enviar dados diretamente, sem
intermediários, garantindo a privacidade e segurança da troca de informações.

URLs (Uniform Resource Locators):

As URLs indicam ao cliente (geralmente o navegador) onde os recursos desejados estão localizados. A URL é
basicamente o "endereço" de um recurso na web e contém várias partes importantes que ajudam a definir
como e onde esse recurso pode ser acessado.

Uma URL típica tem a seguinte estrutura:


[Link]

Aqui estão as principais partes de uma URL:

• Esquema (http/https): Define o protocolo a ser utilizado para a comunicação. Os dois esquemas mais
comuns são HTTP e HTTPS. HTTPS é a versão segura do HTTP, que criptografa os dados para proteger a
comunicação.
• Host: Geralmente um nome de domínio (como [Link]) ou um endereço IP. Essa parte da URL
identifica o servidor onde o recurso está hospedado.
• Porta: Opcional na maioria das URLs. Se não especificada, assume-se a porta padrão para o protocolo (80
para HTTP e 443 para HTTPS). No exemplo, :80 refere-se à porta utilizada para a comunicação.
• Caminho: Refere-se à localização específica do recurso dentro do servidor. Pode ser um diretório ou
arquivo, como /caminho/recurso, que o servidor vai interpretar para localizar o conteúdo solicitado.
• Query String (parâmetros): Opcional, aparece após o ponto de interrogação (?) e contém parâmetros que
podem ser passados para o servidor para modificar a resposta ou filtrar os dados. No exemplo,
parametro=valor poderia ser usado para enviar informações a um sistema de busca ou formulário.
• Âncora (fragmento): Também opcional, é utilizada para navegar a uma parte específica dentro de uma
página ou recurso, como #ancora, que pode referenciar uma seção de uma página HTML.

A URL, portanto, atua como uma coordenada exata na web, orientando o navegador sobre onde encontrar um
recurso e, em alguns casos, como acessá-lo ou exibi-lo. É um componente essencial na comunicação HTTP, pois
conecta o cliente ao recurso pretendido de forma precisa e direta.

Cabeçalhos HTTP:

Os cabeçalhos HTTP são elementos cruciais que acompanham tanto as solicitações enviadas pelos clientes
quanto as respostas fornecidas pelos servidores. Eles consistem em pares de chave-valor que carregam
informações adicionais sobre a solicitação ou a resposta, como tipo de conteúdo, controle de cache,
autenticação, entre outros. Os cabeçalhos ajudam a definir o contexto e as características da comunicação
HTTP, permitindo que cliente e servidor se entendam melhor durante a troca de informações.

Os cabeçalhos HTTP são essenciais para personalizar a comunicação entre o cliente e o servidor, permitindo o
envio de informações como:

• Tipos de dados aceitos e retornados;


• Informações sobre a origem e o destino da solicitação;
• Dados de autenticação e controle de sessões;
• Configurações de cache e manipulação de cookies.

Eles garantem que ambos os lados entendam o contexto de cada solicitação e resposta, tornando a
comunicação mais eficiente, segura e personalizada.

3
Os cabeçalhos HTTP são divididos em dois grandes grupos: Cabeçalhos de Solicitação e Cabeçalhos de
Resposta.

• Cabeçalhos de Solicitação (Request Headers):

Esses cabeçalhos são enviados pelo cliente ao servidor e fornecem informações sobre a solicitação que
está sendo feita. Alguns dos cabeçalhos mais importantes incluem:

o Host: Indica o nome do host (domínio) ao qual o cliente está enviando a solicitação.
Exemplo: Host: [Link]
o User-Agent: Informa ao servidor o tipo de cliente que está fazendo a solicitação, como o
navegador, sistema operacional ou aplicativo que está sendo usado. O servidor pode usar essas
informações para otimizar a resposta para aquele cliente específico.
Exemplo: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124
Safari/537.36
o Accept: Define quais tipos de conteúdo o cliente aceita na resposta.
Exemplo: Accept: text/html (o cliente espera uma página HTML).
o Accept-Language: Especifica o idioma preferido do cliente para a resposta.
Exemplo: Accept-Language: en-US
o Authorization: Utilizado para enviar credenciais que permitam ao cliente acessar recursos
protegidos no servidor. Ele é comumente usado para autenticação via tokens ou credenciais
básicas quando o cliente precisa autenticar-se no servidor, como em sistemas que exigem login.
Exemplo: Authorization: Bearer abc123xyz456.
o Cookie: Envia cookies armazenados no cliente ao servidor, que podem conter dados de sessão ou
outras informações de estado.
Exemplo: Cookie: id=abc123
• Cabeçalhos de Resposta (Response Headers):

Esses cabeçalhos são enviados pelo servidor em resposta a uma solicitação e fornecem informações sobre
o que o cliente pode esperar da resposta. Exemplos comuns incluem:

o Content-Type: Define o tipo de conteúdo que está sendo retornado, como Content-Type:
text/html para uma página HTML ou application/json para dados no formato JSON.
o Content-Length: Especifica o tamanho, em bytes, do corpo da resposta.
Exemplo: Content-Length: 3456
o Set-Cookie: O servidor pode enviar cookies para o cliente armazenar, que podem ser usados em
requisições futuras.
Exemplo: Set-Cookie: id=abc123; Path=/; Secure
o Cache-Control: Especifica se e por quanto tempo o cliente ou proxies podem armazenar a resposta
em cache.
Exemplo: Cache-Control: no-cache
o Location: Indica o URL para o qual o cliente deve ser redirecionado. Usado em respostas de
redirecionamento, como o código de status 301.
Exemplo: Location: [Link]
• Cabeçalhos Gerais (General Headers):

Além dos cabeçalhos de solicitação e resposta, também existem cabeçalhos gerais, que podem ser usados
em ambos os contextos. Um exemplo é o Date, que informa a data e a hora em que a mensagem HTTP foi
gerada, tanto na solicitação quanto na resposta.

4
o Exemplo de cabeçalho geral:
Date: Tue, 15 Nov 2025 08:12:31 GMT

Códigos de status HTTP

Os códigos de status HTTP são enviados pelo servidor em resposta a uma solicitação HTTP e indicam o
resultado dessa solicitação. Eles são divididos em categorias numéricas que indicam se a solicitação foi bem-
sucedida, se houve redirecionamento ou erro, ou se é necessário algum tipo de ação adicional. Cada código de
status é composto por três dígitos e pode ser acompanhado de uma breve descrição textual.

As cinco principais categorias de códigos de status são:

• 1xx – Informativo: Indicam que a solicitação foi recebida e o processo continua.


• 2xx – Sucesso: Indicam que a solicitação foi recebida, compreendida e processada com sucesso.
• 3xx – Redirecionamento: Indicam que o cliente precisa tomar uma ação adicional, geralmente seguindo
um redirecionamento para outra URL.
• 4xx – Erros do Cliente: Indicam que houve um erro na solicitação do cliente (por exemplo, recurso
inexistente ou falta de autorização).
• 5xx – Erros do Servidor: Indicam que houve um problema no lado do servidor ao tentar processar a
solicitação.

Exemplos de códigos

100 Continue O servidor recebeu o início da solicitação e o cliente pode continuar


enviando o restante do corpo da solicitação.
200 OK A solicitação foi bem-sucedida, e o recurso solicitado está incluído na
resposta.
201 Created Um novo recurso foi criado com sucesso (geralmente após uma solicitação
POST ou PUT).
204 No Content A solicitação foi bem-sucedida, mas não há conteúdo no corpo da resposta.
Utilizado em operações que não requerem retorno de dados.
301 Moved O recurso solicitado foi movido permanentemente para outra URL. Todas as
Permanently solicitações futuras devem usar o novo endereço.
302 Found O recurso foi temporariamente movido para uma URL diferente, mas o
cliente deve continuar a usar o URL original em requisições futuras.
304 Not Modified O conteúdo não foi modificado desde a última solicitação. O cliente pode
usar uma versão em cache do recurso.
400 Bad Request A solicitação está malformada ou não pode ser compreendida pelo servidor.
401 Unauthorized O cliente precisa se autenticar para acessar o recurso solicitado.
403 Forbidden O cliente está autenticado, mas não tem permissão para acessar o recurso.
404 Not Found O recurso solicitado não foi encontrado no servidor.
500 Internal Server O servidor encontrou um erro inesperado que impediu o processamento da
Error solicitação.
502 Bad Gateway O servidor, atuando como um gateway ou proxy, recebeu uma resposta
inválida do servidor upstream.
503 Service O servidor está temporariamente indisponível (por exemplo, devido a
Unavailable manutenção ou sobrecarga).

Exemplo de uma resposta HTTP com código de status:


HTTP/1.1 200 OK
Date: Tue, 18 Mar 2025 10:12:31 GMT

5
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

Usando HTTP com Python

O Python possui várias bibliotecas para interagir com o HTTP, como o requests, que é uma biblioteca
simples e fácil de usar para fazer requisições HTTP. Na biblioteca padrão do Python, temos o módulo
[Link], que permite criar um servidor HTTP simples. Há muitas coisas que podemos fazer
usando o Python juntamente com HTTP.

TAREFAS COM O CHROME PARA ENTENDER MELHOR O HTTP

1. Inspecionar o Tráfego de Rede:

• Abra o Chrome e navegue até qualquer site.


• Pressione F12 ou clique com o botão direito na página e selecione Inspecionar para abrir o DevTools.
• Vá para a aba Network (Rede).
• Atualize a página (pressione F5) e observe todas as requisições HTTP feitas para carregar a página.
Veja as diferentes requisições para o HTML, CSS, imagens, scripts, etc.
Tarefas:

• Identifique o método HTTP usado: Examine as requisições e veja se são GET, POST ou outro método.
• Verifique os cabeçalhos: Clique em uma requisição e observe os Request Headers (cabeçalhos da
solicitação) e Response Headers (cabeçalhos da resposta).
• Analise os códigos de status: Veja os códigos de status HTTP, como 200 OK, 404 Not Found, e
verifique como eles correspondem ao sucesso ou falha da requisição.
• Content-Type: Veja o tipo de conteúdo que está sendo transferido em cada resposta (HTML, JSON,
imagem, etc.).
2. Verificar Redirecionamentos:

• Tente acessar um site que redirecione para outra URL (por exemplo, digite [Link] e
veja que vai ser redirecionado para [Link]

6
Tarefas:

• Identifique um código de redirecionamento: Observe um código de status 301 Moved Permanently


ou 302 Found.
• Veja o cabeçalho de redirecionamento: Encontre o cabeçalho Location que mostra a URL para a qual
você está sendo redirecionado.
3. Testar Formulários com Métodos HTTP:

• Responda ao formulário teste em [Link]


• Preencha o formulário e observe a requisição feita na aba Network após enviar os dados.
Tarefas:

• Método HTTP usado: Verifique se o formulário está enviando uma requisição POST (geralmente ao
enviar dados) ou GET (quando os dados são passados pela URL).
• Dados enviados: Analise a aba Payload para ver os dados que foram enviados ao servidor.
4. Monitorar Cookies e Autenticação:

• Visite um site que usa login (como redes sociais ou e-commerce).


• Entre na aba Application do DevTools, sob Storage, e visualize os cookies armazenados.
Tarefas:

• Analise os cookies: Veja quais cookies o servidor definiu. Observe seus atributos, como o nome, valor,
domínio e se estão marcados como Secure ou HttpOnly.
• Verifique cabeçalhos de autorização: Se o site usa autenticação, verifique as requisições
subsequentes e veja como o cabeçalho Authorization (ou Set-Cookie) é usado para manter a sessão.
5. Forçar Erros HTTP:

• Modifique URLs ou tente acessar recursos que não existem para ver como o servidor responde.
Tarefas:

• 404 Not Found: Digite um caminho incorreto no URL de um site e observe o código de status 404 na
resposta.
• 403 Forbidden: Tente acessar uma página restrita ou alterar permissões de acesso a algum recurso, se
possível, e observe o código 403.
• 500 Internal Server Error: Em ambientes de teste, como APIs, force um erro interno para observar um
500.
6. Desabilitar o Cache para Ver o Tráfego Completo:

• Na aba Network, marque a opção Disable cache no DevTools.


• Isso fará com que todas as solicitações sejam feitas ao servidor (em vez de carregarem do cache), o
que te permitirá visualizar todo o tráfego de rede.
Tarefas:

• Compare solicitações com e sem cache: Veja como os cabeçalhos Cache-Control e ETag mudam de
uma requisição com cache para uma sem cache.
• 304 Not Modified: Se uma página ou recurso estiver em cache, veja como o servidor retorna um 304
Not Modified para indicar que o recurso não mudou.

7
7. Explorar APIs Públicas:

• Acesse APIs públicas (como a API do GitHub) diretamente pelo navegador ou por ferramentas como
Postman, e observe as respostas. Use a do SpaceX pelo Postman – procure com o Copilot como fazer
Tarefas:

• Envie requisições GET/POST: Visualize as requisições e respostas de uma API e examine os cabeçalhos
e códigos de status HTTP retornados.
• Análise de conteúdo JSON: Veja como a API responde com Content-Type: application/json e como os
dados são estruturados.
Essas atividades te ajudarão a entender de forma prática como o HTTP funciona, desde as requisições e
respostas, até os cabeçalhos e códigos de status, em tempo real.

8. HTTP com Python

• Usar scripts Python para fazer requisições HTTP


Tarefas:

• Abaixo está um exemplo de como fazer uma requisição GET usando o requests. Crie um arquivo com
esse script, salve-o como [Link] e execute-o no terminal utilizando o Python digitando na linha
de comando python [Link]

import requests
response = [Link]('[Link]
print([Link])
Entre na aba Application do DevTools e visualize as requisições.

• Abaixo está um exemplo de como criar um servidor HTTP simples usando o [Link]:

from [Link] import BaseHTTPRequestHandler, HTTPServer


class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
[Link](b'<html><body><h1>Hello, World!</h1></body></html>')
server = HTTPServer(('localhost', 8000), MyHandler)
server.serve_forever()

Nesse exemplo, criamos uma classe MyHandler que herda da classe BaseHTTPRequestHandler. A
classe MyHandler define o método do_GET, que é chamado quando uma requisição GET é feita para
o servidor. O método do_GET envia uma resposta HTTP 200 OK, define o cabeçalho Content-type como
text/html, e escreve o conteúdo da página HTML no arquivo wfile.
Para acessar o servidor, basta rodar o seguinte código cliente:

import requests
response = [Link]('[Link]
print([Link])

Se você estiver executando este servidor web em um terminal remoto, você poder acessá-lo através de
um navegador de terminal, como o lynx, por exemplo. Também funciona digitando diretamente na
barra de navegação de seu browser (nesse caso, não precisa digitar lynx):

lynx [Link]

8
Entre na aba Application do DevTools e visualize as requisições.
Provavelmente, você verá alguma mensagem de erro, pois as portas acima de um certo número
costumam ser bloqueadas pelo firewall das instituições (na FGV, com certeza estará bloqueado). Para
contornar esse problema, você pode configurar um túnel SSH, mapeando uma porta remota para uma
local (e vice-versa). Isso é tratado no tópico SSH.

9
• Usar scripts Python para usar APIs
Tarefas:

• Abaixo está um exemplo de como usar um script Python para requisitar dados a partir de uma API.
Vamos usar a API de lançamentos da SpaceX.
Crie um arquivo com esse script, salve-o como [Link] e execute-o no terminal utilizando o Python
digitando na linha de comando python [Link]

import requests

# Requisição para obter os últimos lançamentos da SpaceX


response = [Link]('[Link]

if response.status_code == 200:
dados_lancamento = [Link]()
print(f"Lançamento mais recente da SpaceX: {dados_lancamento['name']}")
print(f"Data: {dados_lancamento['date_utc']}")
else:
print("Erro ao acessar a API:", response.status_code)

• O script abaixo monitora as requisições feitas à API de lançamentos da SpaceX.


Crie um arquivo com esse script, salve-o como [Link] e execute-o no terminal utilizando o
Python digitando na linha de comando python [Link]

import requests
import [Link] as http_client
import logging

# Ativar logs detalhados para [Link] (requisições HTTP)


http_client.[Link] = 1

# Configurar o logger para exibir as informações no terminal


[Link]()
[Link]().setLevel([Link])
requests_log = [Link]("urllib3")
requests_log.setLevel([Link])
requests_log.propagate = True

# Fazer uma requisição GET para a API da SpaceX (último lançamento)


response = [Link]('[Link]

# Exibir a resposta da API


print("Resposta da API:\n")
print([Link]())

10

Você também pode gostar