HTML.it è il sito italiano del web publishing

ASP - HTTP Request



scegli un altro forum
    Indietro   Ricarica   Avanti Invia una risposta

Autore
Discussione     
johnZorn
Utente di HTML.it



Registrato il: Jul 2003

Provenienza:

Messaggi: 2


ICQ:

MSN:

Skype:


ASP - HTTP Request
Buongiorno, propongo un problema gia postato su altri forum, ma a cui nessuno ha ancora saputo darmi una risposta :

Sto preparando una funzionalità per eliminare un problema di url injection su una vecchia applicazione fatta in classic ASP.

Alla funzione viene passato una parte di url (es. CartellaA/CartellaB/file.asp) che viene completata con le informazioni delle server variables e fa una richiesta http verso questo indirizzo.

Il problema è che nel mio ambiente di sviluppo non mi da problemi di alcuna sorta, su server di Test invece da l'errore

Description :The data necessary to complete this operation is not yet available
Error Source : msxml3.dll
Error number -2147483638

Questa è la mia funzione

Function FindPage(extendedUrl, redirect)

On Error Resume Next

dim straddr, url, protocol, status, virtualDir, rState

If extendedUrl = "" Then
FindPage = extendedUrl
Else

If Request.ServerVariables("HTTP_HOST") <> "" Then
straddr = Replace(Request.ServerVariables("HTTP_HOST"), "/", "")
Else
straddr = Replace(Request.ServerVariables("SERVER_NAME"), "/", "")
End If

virtualDir = Request.ServerVariables("PATH_INFO")
i = InStr(2, virtualDir, "/")

If i > 0 Then
virtualDir = Left(virtualDir, i - 1)
virtualDir = Replace(virtualDir, "/", "") & "/"
Else
virtualDir = ""
End If

protocol = LCase(Split(Request.ServerVariables("SERVER_PROTOCOL"), "/")(0))
url = protocol & "://" & straddr & "/" & virtualDir & extendedUrl

set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.3.0")
xmlhttp.open "GET", url, false

xmlhttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
xmlhttp.setRequestHeader "Content-length", 0

xmlhttp.send

status = CInt(xmlhttp.Status)
rState = xmlhttp.readyState

If xmlhttp.readyState = 4 Then
If status >= 400 and status < 500 Then
FindPage = redirect
Else
FindPage = extendedUrl
End If
End If

set xmlhttp = nothing

End if

If err.Number <> 0 Then

Response.Write "<br><b>Errore in FindPage!</b><br>"
Response.Write "Description : " & err.Description & "<br>"
Response.Write "Error source : " & err.Source & "<br>"
Response.Write "Error number " & err.Number & "<br>"
Response.Write "Url : " & url & "<br>"
Response.Write "HTTP_HOST :" & Request.ServerVariables("HTTP_HOST") & "<br>"
Response.Write "SERVER_NAME :" & Request.ServerVariables("SERVER_NAME") & "<br>"
Response.Write "readyState : " & rState & "<br>"
Response.Write "Response Text : " & xmlhttp.responseText & "<br>"
Response.End

End If

End Function


L'errore credo di aver capito che si propone quando cerco di andare a leggere le proprietà dell'oggetto xmlhttp. Cercando tra il mare di forum in rete sembra che chi ha avuto questo problema aveva messo "true" all' argomento "async" della funzione Open di xmlhttp. Modificandolo in false sembra che vada sempre a posto.
Questo avrebbe senso, se il server è impegnato al momento non da subito la risposta e non valorizza xmlhttp. Ma nella mia funzione "async" è false, e ottengo lo stesso errore. Com'è possibile ? Forse ci sono dei settaggi particolari su IIS (io ho il 7.5, su test c'è il 6)? Oppure sto usando un oggetto COM errato (qui ""MSXML2.ServerXMLHTTP.3.0", ma ho provato anche con "Microsoft.XMLHTTP" e mi da l'errore "the system cannot locate the resource specified") ?
Non so esattamente dove sbattere la testa ...

Grazie in anticipo.

Segnala ad un moderatore | IP: Collegato | Permalink

johnZorn è offline Old Post 27-06-2012 15:41
Clicca qui per vedere il profilo dell'utente johnZorn Clicca qui per inviare all'utente johnZorn un messaggio privato Visualizza ulteriori messaggi scritti dall'utente johnZorn Aggiungi l'utente johnZorn alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
johnZorn
Utente di HTML.it



Registrato il: Jul 2003

Provenienza:

Messaggi: 2


ICQ :

MSN :

Skype :


Aggiornamento
Scusate, mi sono dimenticato di aggiungere che il server di test è in load balancing con due indirizzi fisici e uno virtuale . Ciò a mio avviso non dovrebbe inficiare sul risultato della richiesta http, ma forse è un problema sistemistico collegato a questo ...

Segnala ad un moderatore | IP: Collegato | Permalink

johnZorn è offline Old Post 28-06-2012 10:55
Clicca qui per vedere il profilo dell'utente johnZorn Clicca qui per inviare all'utente johnZorn un messaggio privato Visualizza ulteriori messaggi scritti dall'utente johnZorn Aggiungi l'utente johnZorn alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Tutte le ore sono con fuso orario CET. Ora sono le 06:27.     

    Ultima discussione   Prossima discussione Invia una risposta
Versione per la stampa | Invia il thread via email | Ricevi aggiornamenti sul thread | Scarica il thread
 

Cerchi un argomento specifico e hai fretta? Usa il motore di ricerca