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

Rispondi quotando