Navegando em formulários com login e senha
Publicado por Mauricio (última atualização em 14/09/2012)
[ Hits: 17.234 ]
Homepage: http://www.mbmaciel.com
Um exemplo de navegação em modo texto usando python com mechanize num formulário com login e senha. No caso o formulário de login da administração de um site com Joomla. Basta substituir com o nome do site, colocar o login e senha nas variáveis indicadas.
Instalando o mechanize:
$ sudo easy_install mechanize
#!/usr/bin/env python # -*- coding: utf-8 -*- # >>> navegando_form.py - 04/09/2012 # Por Mauricio Maciel <mbmaciel@linuxdepot.com.br> # Navega por formulário de login do Joomla usando o Mechanize. # Configurado para o Joomla mas serve para a maioria dos forms # Instalação do mechanize - sudo easy_install mechanize import mechanize import cookielib #cria um navegador, um browser de codigo... br = mechanize.Browser() url = 'http://www.seusitejoomla.com.br/administrator' # preencha com seu site joomla email = 'seulogin' # o login utilizado senha = 'senha' # a senha utilizada # Prepara para tratar cookies... cj = cookielib.LWPCookieJar() br.set_cookiejar(cj) # Ajusta algumas opções do navegador... br.set_handle_equiv(True) br.set_handle_gzip(False) br.set_handle_redirect(True) br.set_handle_referer(True) br.set_handle_robots(False) br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) # Configura o user-agent. # Do ponto de vista do servidor, o navegador agora é o Firefox. br.addheaders = [('User-agent', 'Mozilla/5.0 (X11;\ U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615\ Fedora/3.0.1-1.fc9 Firefox/3.0.1')] # Pronto! Agora é navegar, acessando a URL usando o método HTTP GET br.open(url) # Para abrir o primeiro formulário, você pode selecionar com: #0 br.select_form(nr=0) # Para mostrar os formularios e ver os campos a serem preenchidos, # use um for sobre o br.forms() for f in br.forms(): print f # Preencher o formulário com os dados de login... br.form['username'] = email br.form['passwd'] = senha # Enviar o formulário usando o método HTTP POST br.submit() # E finalmente, busque o HTML retornado: html = br.response().read() print html
Script que obtém informações disponibilizadas a bots pelos sites
Downloader modo texto - Python 3
Google scan com interface gráfica
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando Zoom Client no Ubuntu 24.04 LTS
Instalando Zoom Client no Fedora 40
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
Configurando static ipv6 em placa de rede eth0[DUVIDA] (1)
Sistema da Coréia do Norte - Red Star OS (59)
Comando interno CD não funciona (16)
Dificuldade em ler binário (12)
Em que pasta/arquivo ficam as configurações das janelas em derivados d... (2)