Bonjour à tous,
Je tente d'utiliser urllib pour remplir automatiquement les champs login et mot de passe de la page d'accueil de mon routeur DLINK
dans le but de m'y connecter automatiquement
Je rencontre cependant des problemes
Tout d'abord, voici à quoi ressemble le code HTML coté DLINK routeur
Par défaut le login est admin et le mot de passe est vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <div class="message">Login to the router : </div> <div class="loginbox"> <span class="name">User Name</span> <span class="delimiter">:</span> <span class="value"> <input type="text" id="loginusr" onkeydown="BODY.OnKeydown(event);" /> </span> </div> <div class="loginbox"> <span class="name">Password</span> <span class="delimiter">:</span> <span class="value"> <input type="password" id="loginpwd" maxlength="15" onkeydown="BODY.OnKeydown(event);" /> <input type="button" id="noGAC" value="Login" onClick="BODY.LoginSubmit();" /> </span> </div>
J'ai donc tenté qqch de ce style
Sans succes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import cookielib import urllib import urllib2 url = 'http://192.168.16.1' values = {'loginusr' : 'admin', 'loginpwd' : ''} data = urllib.urlencode(values) cookies = cookielib.CookieJar() opener = urllib2.build_opener( urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler(debuglevel=0), urllib2.HTTPSHandler(debuglevel=0), urllib2.HTTPCookieProcessor(cookies)) response = opener.open(url, data) the_page = response.read() http_headers = response.info()
J ai egalement essayé d'utiliser la lib requests avec :
Aucune de ces 2 solutions ne fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 import requests s = requests.session() login_data = dict(loginusr='admin', loginpwd='') s.post('http://192.168.16.1', data=login_data)
Qqun peut il me dire si j'ai fais une erreur ?
D'avance, je vous remercie
Partager