Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    2

    [python] autenticarsi su form web

    ciao
    sono praticamente un niubbo di python e sto tentando di scrivere uno script per autenticarmi in una pagina web e prelevare un file.
    Ho trovato il modulo ClientForm che dovrebbe servire allo scopo.
    http://wwwsearch.sourceforge.net/ClientForm/

    il problema naturalmente è che il modulo non mi funziona.
    Vi mostro prima parte del codice html dove sono presenti i parametri per il form e poi il codice python per loggarsi.



    <form name="RepPre" action="/provisioning/ctrlprovis/" method="POST">
    ...
    <input type="hidden" name="servizio" value="login">
    INPUT type="hidden" name="main_errorLoginPage" value="/jsp/login/aaaaaa/login.jsp">
    ...
    <td id="text"><input type="password" size="13" maxlength="20" name="main_userPassword" id="text">
    </td>
    ....
    <td><input type="hidden" name="Action" value="SetCookieSSO">
    <input type="hidden" name="giornale" value="aaaaaa">
    <input type="submit" name="invia" value="ENTRA" id="button">


    e il seguente è il codice python:

    >>> import ClientForm
    >>> import urllib2
    >>> import os
    >>>
    >>> url = urllib2.urlopen("http://blahblahsitosito/provisioning/jsp/login/aaaaaaa/login.jsp")
    >>> lista = ClientForm.ParseResponse(url, backwards_compat=False)
    >>> form = lista[0]
    >>> form["main_uid"] = "mialogin"
    >>> form["main_userPassword"] = "miapass"
    >>> print form
    <RepPre POST http://blahblahsitosito/provisioning/ctrlprovis/ application/x-www-form-urlencoded
    <HiddenControl(servizio=login) (readonly)>
    <HiddenControl(main_errorLoginPage=/jsp/login/aaaaaa/login.jsp) (readonly)>
    <TextControl(main_uid=mialogin)>
    <PasswordControl(main_userPassword=miapass)>
    <HiddenControl(Action=SetCookieSSO) (readonly)>
    <HiddenControl(giornale=iltirreno) (readonly)>
    <SubmitControl(invia=ENTRA) (readonly)>>
    >>> file=urllib2.urlopen(form.click()).read()
    >>> f=open('/tmp/file.htm', 'w')
    >>> f.write(file)
    >>> f.close()

    fine..
    la cosa strana è che in file.htm non c'è la pagina di login... ma un'altra pagina web sempre ovviamente appartenente allo stesso sito.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    2,620
    scusa, ma
    codice:
    import urllib2
    non è che importa un modulo/libreria che tu non hai?
    e poi
    codice:
    url = urllib2.urlopen("http://blahblahsitosito/provisioning/jsp/login/aaaaaaa/login.jsp")
    manda ad una pagina java (jsp sta per JavaServerPage(s)) tu hai fatto una pagina java? Se si il tuo host supporta java?
    Ma soprattutto sei sicuro che supporti python??

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    2
    uhmm no spetta..
    il modulo urllib2 viene caricato infatti se noti non mi da errori quando lo importo.
    inoltre la pagina in jsp non è fatta da me.. è un sito che sta online e che funziona perfettamente.
    mica deve supportare python... il modulo clientform è un modulo per compilare form lato client.. come se lo facessi da browser.. java dovrà stare sul server remoto mica sul client.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.