Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Generare file HTML con XMLHTTP

    Uso questo codice per generare un HTML da ASP
    codice:
     
    Response.Buffer = True
    Dim objXMLHTTP, xml
    pagina="http://localhost/prova/alvolo.asp?art=prova2"
    Set xml = Server.CreateObject("Microsoft.XMLHTTP")
    xml.Open "GET", pagina, False 
    xml.Send   
    strHtml = xml.responseText
    Set FSO = CreateObject("Scripting.FileSystemObject")
    sPath = Server.MapPath("/prova/prova2.htm")
    Set f = FSO.CreateTextFile(sPath, True)
    f.WriteLine(strHtml)
    f.Close
    Set f = Nothing
    Set FSO = Nothing
    set xml = Nothing
    Alla riga in rosso mi dà errore:
    codice:
    Tipo di errore:
    msxml3.dll (0x80070005)
    Accesso negato.
    I permessi nella cartella credo siano a posto (nella stessa aggiorno DB, faccio Upload e gestione di file, tutto senza problemi) perchè non riesco??

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    1] hai le msxml attive ?

    2] prova con send()

  3. #3
    Dunque, per quanto riguarda la seconda cosa che hai detto, ho provato ma non è cambiato nulla...

    Il tuo punto numero 1] invece non mi è molto chiaro, non sono pratica di XML.....
    Cosa dovrei fare esattamente???

    Inoltre ho un'altra domanda: ma è proprio necessario passare da "localhost://ecc... ecc..." anche se le pagine risiedono tutte sul server locale???

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  4. #4
    Un'altra cosa....

    Ho fatto anche quest'altra prova sul server locale
    codice:
    'l'url da scaricare
    StrURL = "http://www.google.it/"
    
    
      Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
    ' in caso di problemi, usare il prog-id
    ' Microsoft.XMLHTTP
    
    objXMLHTTP.Open "GET", StrURL, false
    
      ' Richiama il file
      objXMLHTTP.Send
    
    ' il contenuto
    content = CStr(objXMLHTTP.ResponseText)
    statuscode = objXMLHTTP.ResponseStatus 
    
    Set objxml = Nothing
    
    if CInt(statuscode) = 200 then
    Response.write content
    else
    Response.write "Errore del server remoto: " & statucode
    end if

    CHIARAMENTE NON FUNZIONA!!!
    .... restituisce questo:
    codice:
    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A01B6)
    Proprietà o metodo non supportati dall'oggetto: 'objXMLHTTP.ResponseStatus'
    /ebay/generator/007.asp, line 19

    Non so, potrebbe servire a capire la mia penosa situazione?!
    :master:
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  5. #5
    Allora, ho fatto un passo in avanti!!!!
    Ora ho modificato il codice così (poi non dite che non ho buona volontà....)

    codice:
    pagina="http://localhost/prova/alvolo.asp?art=prova2"
    
    Dim objXMLHttp
    
    'Instanzio l'oggetto XMLHttp
    Set objXMLHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0") 
    'response.Buffer=true
    'Costruisco e invio la richiesta
    objXMLHttp.Open "GET", pagina, false
    
    objXMLHttp.Send
    strHtml = objXMLHttp.responseText
    Set FSO = CreateObject("Scripting.FileSystemObject")
    sPath = Server.MapPath("prova2.htm")
    Set f = FSO.CreateTextFile(sPath,true,0)
    f.WriteLine(strHtml) 
    f.Close
    Set f = Nothing
    Set FSO = Nothing
    set xml = Nothing
    
    'response.Write(strHtml)
    response.Write("Pagina generata HTML con successo!")
    Così com'è scritto NON FUNZIONA, ma sicuramente l'errore (alla riga rossa "Chiamata di routine o argomento non validi") deriva dal contenuto della variabile strHtml, perchè se sostituisco quella riga con
    codice:
    f.WriteLine("ciao a tutti")
    Tutto va alla perfezione.
    Così com'è invece crea il file prova2.htm ma non ci scrive nulla dentro.
    Se però provo a fare

    codice:
    response.write(strHtml)
    Mi scrive tutta la pagina alla perfezione... (fa giusto qualche casino sugli accenti.....)

    Che dite, è molto grave?????
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  6. #6
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    a me sembra che non hai installate le dll di msxml

    dovresti fare un test sul tuo pc e vedere se sono attive e se si quale versione.

    Cerca su google msxml download
    o cerca qui test msxml

    ciao

    p.s. il path:

    pagina="http://localhost/prova/alvolo.asp?art=prova2"

    usa il path "naturale"

    pagina="alvolo.asp?art=prova2"

    sempre se sei dentro la dir "prova"

  7. #7
    esegui questa pagina sul server e dicci cosa esce fuori

    codice:
    <%
    	dim active
    	On Error Resume Next
    	active = False
    	Set xTestObj = Server.CreateObject("Microsoft.XMLHTTP")
    	If Err = 0 Then active = True
    	Set xTestObj = Nothing
    	on error goto 0
    	response.write "Microsoft.XMLHTTP installato: " & active & "
    "
    
    	On Error Resume Next
    	active = False
    	Set xTestObj = Server.CreateObject("MSXML2.ServerXMLHTTP")
    	If Err = 0 Then active = True
    	Set xTestObj = Nothing
    	on error goto 0
    	response.write "MSXML2.ServerXMLHTTP installato: " & active & "
    "
    %>
    sono convinto (dato il tuo errore) che dovrebbe darti VERO ma è un primo controllo

    ----

    fatto ciò (dato che penso sia un problema di permessi) prova ad indicare invece che LOCALHOST l'indirizzo esterno al sito (http://www.blabla.../...)
    san imente saluta

    * http://simonecingano.it *

  8. #8
    Dunque, test eseguito, tutto VERO!...
    Il mio 3d sul cambiamento di codice l'avete letto?
    Credo che adesso il problema sia sul contenuto della variabile strHTML, che poi è l'intero codice HTML della pagina che vado a leggere...

    Mi sto SPREMENDO LE MENINGIIIIII!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    per essere sicuro che la risposta xml è corretta non ti resta che stampare la stessa:

    codice:
    pagina="http://localhost/prova/alvolo.asp?art=prova2"
    
    Dim objXMLHttp
    
    'Instanzio l'oggetto XMLHttp
    Set objXMLHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0") 
    'response.Buffer=true
    'Costruisco e invio la richiesta
    objXMLHttp.Open "GET", pagina, false
    
    objXMLHttp.Send
    
    if objXMLHTTP.ResponseStatus = 200 then
    Response.write objXMLHttp.responseText
    else
    Response.write "Errore del server remoto"
    end if
    
    set objXMLHttp= Nothing

  10. #10
    Buongiorno!
    Sull'ultima prova suggerita da AGENTI ho ricavato un bel:

    codice:
    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A01B6)
    Proprietà o metodo non supportati dall'oggetto: 'ResponseStatus'
    008.asp, line 15
    Volevo inoltre aggiornarvi sulle mie scoperte...!
    Il problema è proprio nella variabile "strHTML": se la faccio stampare in una textarea me la scrive correttamente:

    codice:
     
    <%
    pagina="http://localhost/prova/alvolo.asp?art=prova2"
    
    Dim objXMLHttp
    
    'Instanzio l'oggetto XMLHttp
    Set objXMLHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0") 
    'response.Buffer=true
    'Costruisco e invio la richiesta
    objXMLHttp.Open "GET", pagina, false
    
    objXMLHttp.Send
    strHtml = objXMLHttp.responseText
    Set FSO = CreateObject("Scripting.FileSystemObject")
    sPath = Server.MapPath("prova2.htm")
    Set f = FSO.CreateTextFile(sPath,true,0)
    'f.WriteLine(strHtml) 
    f.Close
    Set f = Nothing
    Set FSO = Nothing
    set xml = Nothing
    
    'response.Write(strHtml)
    response.Write("Pagina generata HTML con successo!")
    %>
    <textarea name="textarea" cols="150" rows="60"><%=strHtml%></textarea>
    Se invece gliela faccio scrivere con f.WriteLine(strHtml) mi dà sempre quell'errore "Chiamata di routine o argomento non validi".

    Inoltre, ora che scrivo la variabile nella textarea mi accorgo che sostituisce i caratteri accentati con strane cose.
    Per prevenire le vostre risposte sappiate che ho provato tutte queste soluzioni:

    codice:
     
    1. strHtml = Replace(strHtml,"à","& agrave ;") ecc. ecc.
    2. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    3. UTF-8, UTF-16
    4. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    Delle soluzioni adottate nessuna è sembrata funzionare, le lettere accentate e i simboli € mancano sempre, al loro posto punti interrogativi e parole mangiucchiate!!!!!!
    Ho trovato pure una roba tipo "AppendChunk objSrvHTTP.responseBody" ma non ho capito come adattarla al mio caso (ecco il 3d )

    Insomma.... STO NEI CASINIIIII, AIUTOOOOOOOO!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

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.