Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: HMLHTTP con errore ...

  1. #1

    HMLHTTP con errore ...

    Ciao a tutti, sto' utlizzando il seguente script:

    <%
    URL = "http://localhost/index.asp"
    Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
    objXMLHTTP.Open "Get", URL, False
    objXMLHTTP.Send
    testoHTML = CStr(objXMLHTTP.ResponseStream)
    Set xml = Nothing

    response.write(testoHTML)
    %>

    ma dà errore esattamente questo:

    "Microsoft VBScript runtime error '800a000d'

    Type mismatch: 'CStr'

    /test.asp, line 7 "

    La linea incriminata è qella in rosso, :master: mi sfugge qualcosa?

  2. #2
    codice:
    testoHTML = objXMLHTTP.ResponseText

  3. #3
    Grazie della risposta, allora sto' uscendo leggermente pazzo
    usando questo script mi funziona:

    <%
    Response.Buffer = True
    Dim objXMLHTTP, xml
    pagina="http://localhost:100/index.asp"
    Set xml = Server.CreateObject("Microsoft.XMLHTTP")
    xml.Open "GET", pagina, False
    xml.Send
    strHtml = xml.responseText
    Set FSO = CreateObject("Scripting.FileSystemObject")
    sPath = Server.MapPath("test1.htm")
    Set f = FSO.CreateTextFile(sPath, True)
    f.WriteLine(strHtml)
    f.Close
    Set f = Nothing
    Set FSO = Nothing
    set xml = Nothing
    %>

    Ma, e si c'è un ma, io voglio implementarlo in maniera diversa ovvero, nelle pagine che voglio trasformare in htm, alla fine metto un response.redirect alla pagina trasforma.asp
    che contiene lo stesso script di sopra ma con il parametro dell'url e quello del nome pagina come variabili, ovvero così adattato:

    <%
    Dim pagina, NomeFile
    Pagina = Session("IndirizzoCompleto")
    NomeFile = Session("Classe")
    %>

    <%
    Response.Buffer = True
    Dim objXMLHTTP, xml
    'response.write(pagina)
    Set xml = Server.CreateObject("Microsoft.XMLHTTP")
    xml.Open "GET", pagina, False
    xml.Send
    strHtml = xml.responseText
    Set FSO = CreateObject("Scripting.FileSystemObject")
    sPath = Server.MapPath(NomeFile)
    'response.write(sPath)
    Set f = FSO.CreateTextFile(sPath, True)
    f.WriteLine(strHtml)
    f.Close
    Set f = Nothing
    Set FSO = Nothing
    set xml = Nothing
    %>

    Ma non mi funziona più, mi si pianta il browser in clessidra

  4. #4
    no scusa non ho capito

    te stai in trasformata.asp, fai partire il primo script epoi fai un redirect sempre a trasformata.asp?

  5. #5
    no, io sto' sulla pagina che deve essere trasformata in htm ( index.asp), se a questa metto ad esempio un link alla pagina trasforma.asp (che è quella contente lo script XMLHTTP e FSO di cui sopra) si pianta e và in clessidra (aggiungo che vorrei poi farglielo fare in automatico, per questo avevo pensato ad un response.redirect alla pagina trasforma.asp)
    L'errore che mi esce è:

    Invalid procedure call or argument

    /trasforma.asp, line 22


    alla linea 22 ho

    f.WriteLine(strHtml)

  6. #6
    prova ad usare solo il metodo Write (non WriteLine)

  7. #7
    Anche write stesso errore ...la cosa strana è che se configuro sul file trasforma:

    pagina="http://localhost:100/index.asp"
    sPath = Server.MapPath("test1.htm")

    questi du valori fissi, funziona và in errore quando tento di farglieli prendere dalle variabili di sessione che mi sono creato

  8. #8
    potresti ripostare il codice completo di commenti (interni al codice) per spiegare cosa dovrebbero fare le righe degli script che hai postato? mica riesco a capirli

  9. #9
    I commenti non li ho messi, comunque:


    Qui vengono valorizzate le variabili
    <%
    Dim pagina, NomeFile
    Pagina = Session("IndirizzoCompleto")
    NomeFile = Session("Classe")
    %>


    Qui recupero il codice html della pagina con XMLHTTP e questa parte funziona
    <%
    Response.Buffer = True
    Dim objXMLHTTP, xml
    'response.write(pagina)
    Set xml = Server.CreateObject("Microsoft.XMLHTTP")
    xml.Open "GET", pagina, False
    xml.Send
    strHtml = xml.responseText
    %>
    (se a questo punto dello script lo intterompo e faccio una response.write di strHtml ho l'output a video della pagina, quindi è ok e funzionante)

    E qui nascono i problemi in quanto con FSO voglio salvare la pagina in nomevariabile.htm

    <%
    Set FSO = CreateObject("Scripting.FileSystemObject")
    sPath = Server.MapPath(NomeFile)
    'response.write(sPath)
    Set f = FSO.CreateTextFile(sPath, True)
    f.WriteLine(strHtml)
    f.Close
    Set f = Nothing
    Set FSO = Nothing
    set xml = Nothing
    %>

  10. #10
    ma stai cercando di scrivere in una cartella con i permessi di scrittura?

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.