Onde está o erro (dessa vez está difícil) [RESOLVIDO]

1. Onde está o erro (dessa vez está difícil) [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 22/05/2016 - 15:02h

Decidi fazer outra pergunta mas passando mais informações O problema é logar em uma pagina HTML vou postar o fonte dela quem sabe ajuda http://pastebin.com/j0dU3VZw . Estou tentando fazer login com este código:


from requests.auth import HTTPBasicAuth
from requests.auth import HTTPDigestAuth
import requests
import getpass

def basic():
url = 'http://192.168.0.1/login.htm'
username = 'Admin'
password = getpass.getpass()
authentication = HTTPBasicAuth(username, password)
try:
r = requests.get(url, auth=authentication, allow_redirects=True)
if r:
print(r.status_code)
print(r.text)
else:
print("Not found")
except requests.exceptions.ContentDecodingError as e:
print('wrong password')

def digest():
url = 'http://192.168.0.1/login.htm'
username = 'Admin'
password = getpass.getpass()
authentication = HTTPDigestAuth(username, password)
try:
r = requests.get(url, auth=authentication, allow_redirects=True)
if r:
print(r.status_code)
print(r.text)
else:
print("Not found")
except requests.exceptions.ContentDecodingError as e:
print('wrong password')

basic()
digest()


Como podem ver estou tentando com dois modos diferentes de autenticação, mas não consigo o login nem mesmo aparece erros na execução, nada !. Será se alguma alma caridosa poderá me ajudar (exceto o chapolim colorado).


  


2. Re: Onde está o erro (dessa vez está difícil)

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 23/05/2016 - 22:53h

Galera resolvido por aqui, obrigado a todos os que me ajudaram. Eu consegui com a biblioteca selenium do python que é simples e fácil de usar, o código ficou mais ou menos assim:


#!/usr/bin/env python3

from urllib.request import urlopen
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sys

urllogin = 'http://192.168.0.1/login.htm'
urldhcp = 'http://192.168.0.1/dhcptbl.htm'

driver = webdriver.Firefox()
driver.get(urllogin)
assert "Roteador Wireless" in driver.title
UsernameTag = driver.find_element_by_id("username")
PasswordTag = driver.find_element_by_id("password")
try:
UsernameTag.send_keys("Admin")
PasswordTag.send_keys("mypass")
login_attempt = driver.find_element_by_xpath("//*[@type='submit']")
login_attempt.submit()
source = urlopen(urldhcp)
finally:
driver.close()


Ainda estou recomeçando a escrever o meu script mas já está utilizável.




=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts