allora... questo è il codice, si è molto spartano ma ho cercato di reperire le informazioni che mi servivano nel modo più semplice x me... ho tentato parsing e cose varie ma quanto meno x ora me ne sono uscito cosi' appena il tutto funzionerà lo farò come si deve, questo script
il problema è che ogni volta che viene eseguito urllib.request.urlopen il telefono mi invia un nuovo nonce, quindi è come se al login non mi avesse loggato o non mantenesse la sessione dopo nn so...codice:import http.cookiejar, urllib.request, http.client, hashlib url='http://192.168.1.3/index1.htm' nonce="" url2='http://192.168.1.3/dspset.htm' username="admin" password="admin" dset="addRingTypeRule=53&setringtype=1&addRingTypeRuleEntry=+Add++" dsetg="addRingTypeRule=5x&setringtype=4&addRingTypeRuleEntry=+Add++&ringtyperuleEntry=53" user_agent="Mozilla/5.0 (X11; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1" connection="keep-alive" cj = http.cookiejar.CookieJar() opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) urllib.request.install_opener(opener) pagina = urllib.request.urlopen(url) a=str(pagina.info()) c=0 for i in a: if (c>144 and c<161): nonce=nonce+i c=c+1 encode=str(hashlib.md5((username+":"+password+":"+nonce).encode()).hexdigest()) log="username=admin&password=admin&encoded=admin\ %3A"+encode+"&nonce="+nonce+"&goto=Logon&URL=%2F" print(log) headers = { 'User-Agent' : user_agent,\ 'Connection' : connection,\ 'Cookie' : nonce } invio=urllib.request.Request(url,log.encode('ascii'),headers) urllib.request.urlopen(invio) print(cj) invio2=urllib.request.Request(url2,dset.encode('ascii'),headers) urllib.request.urlopen(invio2) print(cj)
so una cosa xò, che se eseguo lo script i print cj mi stampano ogni volta un cookie auth diverso
se invece mi loggo con firefox, vado a leggere il cookie auth, setto manualmente il nonce del mio script con quel valore e modifico lo script in modo da inviare solo
invio2=urllib.request.Request(url2,dset.encode('as cii'),headers)
urllib.request.urlopen(invio2)
con le query post che modificano delle impostazioni nel telefono, mi funziona! xò stranamente il print cj mi stampa vuoto senza il cookie auth
cosa sbaglio? sono giorni che ci sbatto la testa![]()

Rispondi quotando