Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Como Fazer Login Usando Requests em Python com Sessão e Redirecionamento

Como Fazer Login Usando Requests em Python com Sessão e Redirecionamento

Publicado por em

@CanalQb 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.

Marcadores: Blogger IA Python Script Sistemas Tutorial

© abril 15, 2023 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática

Comentários