Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    13

    Come estrapolare dati da un sito esterno che necessita di autenticazione

    Salve a tutti,
    avrei un problemino da risolvere:
    devo effettuare un'autenticazione su di un sito, utilizzando una qualsiasi libreria http/https (es. dynuhttp, asptear, etc), ovvero devo scrivere un codice asp che mi connetta al sito remoto, esegua l'autenticazione, catturi la risposta e mantenga aperta la sessione per ulteriori servizi del sito.
    Ho provato varie dll ma senza risultati, non ottengo autenticazione.

    Oltre all'url https per richiamare il sito, devo passare parametri quali ww_login, ww_password, ww_type, etc etc nonchè un ww_return, che reindirizza, una volta terminata l'autenticazione, sul un pannello di controllo con diverse funzioni da richiamare.

    Se lo richiamo da una form normale, ovviamente tutto funziona ma vengo reindirizzato sul sito remoto (cosa che non deve succedere). Come posso fare per catturare la risposta del server remoto dopo l'autentica e, soprattutto, come tenere aperta la sessione ?

    Per fare un esempio banale, è come se dovessi ricostruire un pannello di controllo, fatto a mio uso e consumo, attingendo però i dati da un sito esterno (ovviamente non mettono a disposizione API... altrimenti il problema sarebbe risolto !!!), richiamando pagine diverse ed inviando parametri diversi per ogni pagina.

    Ultima cosa, se eseguo autenticazione via browser e poi lancio tutti i miei vari script che vanno a richiamari le fonti esterne, tutto funziona a meraviglia. Il problema sta solo nella parte di autenticazione.

    Posto un piccolo esempio di una delle funzioni che utilizzo:

    <%
    Const Request_POST = 1
    Const Request_GET = 2

    Set xobj = CreateObject("SOFTWING.ASPtear")
    Response.ContentType = "text/html"

    On Error Resume Next
    ' URL, action, payload, username, password
    strRetval = xobj.Retrieve("https://nomesito/cgi-bin/ww_logon", _
    Request_POST, "ww_login=12345&ww_password=12345&ww_dbos=xxxx&lim it=0&ww_retpath=ww_provisioning&avanti=Avanti", "", "")
    xObj.FollowRedirects = False
    If Err.Number <> 0 Then
    Response.Write ""
    If Err.Number >= 400 Then
    Response.Write "Server returned error: " & Err.Number
    Else
    Response.Write "Component/WinInet error: " & Err.Description
    End If
    Response.Write "
    "
    Response.End
    End If

    Response.Write strRetval
    %>

    Spero di avere esposto abbastanza chiaramente il problema..... grazie a tutti !
    Daniele

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Edit
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    se il sito esterno non è tuo e non ci sono api a disposizione la vedo dura

  4. #4
    allora,

    io in .net ho fatto una procedura come dici te, ovvero richiedeva autenticazione presso https e poi dovevo andare a registrarmi dei dati da altre pagine "protette".

    fai una richiesta xmlhttp alla pagina http/s che effettua fisicamente il login, passandogli i dati come se li aspetta dal form di login e credenziali corrette (ovviamente)

    dalla risposta intanto capisci se il login è stato effettuato o meno, poi ti grabbi la session_id che dovresti trovare nell'header della risposta (o almeno nell'oggetto .net era così, mi pare anche in asp sinceramente)

    avuta la session id, la alleghi a tutte le successive richieste xmlhttp che devi fare nel sito. Naturalmente, i tempi di vivezza della sessione sono uguali a quelli che hai se navighi diretto via browser. nel senso che se fra una richeista e l'altra fai passare 1 ora, probabilmente troverai la session scaduta

    quindi, studiati a mena dito il xmlhttp e dovresti farcela
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    13

    Dopo una notte di esperimenti, non ne cavo un ragno dal buco....... ottengo un codice di risposta 200 (che dovrebbe essere ok) ma la pagina che visualizzo (e dalla quale dovrei grabbare dei dati per proseguire), è sempre quella del form di autenticazione e non quella successiva......
    Perchè..perchè..perchè.....
    Ho passato l'esatta stringa di connessione via browser e funziona da Dio.
    VVoVe:
    Hai per caso un codice di esempio da postarmi ? Anche in .net
    Grazie mille. Daniele

  6. #6
    mi spiace ora non lo ritrovo, poi se me lo ricordo lo cerco ma sono sommerso di lavoro e non ho un minuto.

    prova a postare il codice che hai fatto e dimmi che cosa ti restituisce
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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 © 2026 vBulletin Solutions, Inc. All rights reserved.