|
Python - Fazendo Login Apenas com Requests | |
| Canal Qb | ||
Introdução
Utilizar a biblioteca requests do Python para realizar login em páginas web é uma técnica essencial para automatizar processos que exigem autenticação. Com essa abordagem, você pode enviar dados de login via requisição POST, armazenar o cookie de sessão automaticamente e acessar páginas protegidas sem a necessidade de interação manual.
Como Funciona o Login com Requests
Quando você envia uma solicitação POST para um formulário de login, o servidor valida as credenciais e, se corretas, retorna um cookie de sessão. A biblioteca requests.Session() armazena automaticamente esses cookies, permitindo que você mantenha a sessão ativa e faça requisições subsequentes em nome do usuário autenticado.
Exemplo Básico de Login com Requests
A seguir, um exemplo simples de como realizar login, armazenar a sessão e acessar uma página restrita:
import requests
# URL da página de login
login_url = 'http://exemplo.com/login'
# Dados do formulário de login
login_data = {
'username': 'seu_usuario',
'password': 'sua_senha'
}
# Cria uma sessão para armazenar cookies
session = requests.Session()
# Envia requisição POST para login
response = session.post(login_url, data=login_data)
# Verifica se o login foi bem sucedido (status code 200)
if response.status_code == 200:
# URL da página restrita acessível após login
next_url = 'http://exemplo.com/pagina_logada'
# Solicita a página restrita usando a sessão autenticada
response = session.get(next_url)
if response.status_code == 200:
# Processa o conteúdo da página protegida
print(response.content)
else:
print(f'Erro ao acessar {next_url}: {response.status_code}')
else:
print(f'Erro no login: {response.status_code}')
Tratando Redirecionamentos Após o Login
Alguns sites redirecionam automaticamente para outra página logo após o login. Para capturar essa URL redirecionada, você pode verificar o atributo response.url após a requisição POST.
Exemplo para Capturar URL Redirecionada
import requests
# Credenciais de login
payload = {
'username': 'seu_usuario',
'password': 'sua_senha'
}
# Cria uma nova sessão
session = requests.Session()
# URL da página de login
url = 'http://exemplo.com/login'
# Envia requisição POST para login
response = session.post(url, data=payload)
if response.status_code == 200:
# Captura a URL da página redirecionada após o login
redir_url = response.url
print(f'Você foi redirecionado para {redir_url}')
else:
print(f'Erro ao fazer login, status code: {response.status_code}')
Inserindo Pausa Antes de Acessar a Página Redirecionada
Para algumas situações, pode ser necessário aguardar alguns segundos antes de prosseguir após o login. Isso pode ser feito utilizando o módulo time do Python para pausar o código temporariamente.
Exemplo com Delay de 10 segundos
import requests
import time
payload = {
'username': 'seu_usuario',
'password': 'sua_senha'
}
session = requests.Session()
url = 'http://exemplo.com/login'
response = session.post(url, data=payload)
if response.status_code == 200:
time.sleep(10) # Aguarda 10 segundos
redir_url = response.url
print(f'Você foi redirecionado para {redir_url}')
else:
print(f'Erro ao fazer login, status code: {response.status_code}')
Considerações Finais
O uso da biblioteca requests para automação de login facilita muito processos que envolvem scraping, testes automatizados e interações com sites que exigem autenticação. É fundamental, porém, respeitar as políticas do site e utilizar essas técnicas de forma ética.
Nota de responsabilidade: Ao utilizar scripts para login automático, avalie cuidadosamente os termos de uso do site e não insira suas credenciais em códigos de origem desconhecida. Nunca utilize esses métodos para acessar sistemas sem autorização.
Para mais conteúdos de programação e tutoriais, visite o Canal Qb.

Comentários
Comente só assim vamos crescer juntos!