Foros del Web » Programando para Internet » ASP Clásico »

Obtener código HTML de página con ASP...

Estas en el tema de Obtener código HTML de página con ASP... en el foro de ASP Clásico en Foros del Web. Hola, ¿alguien sabe cómo podría almacenar automáticamente en una variable ASP el código HTML de alguna página de la que tengo la URL? Me explico, ...
  #1 (permalink)  
Antiguo 07/03/2003, 06:04
 
Fecha de Ingreso: marzo-2003
Mensajes: 18
Antigüedad: 22 años, 1 mes
Puntos: 0
Obtener código HTML de página con ASP...

Hola, ¿alguien sabe cómo podría almacenar automáticamente en una variable ASP el código HTML de alguna página de la que tengo la URL?

Me explico, quiero hacer una especie de caché de una página HTML, por lo que necesito obtener el código HTML actual de la página en cuestión desde ASP. No se me ocurre cómo hacerlo. Si alguien tiene alguna idea...

Gracias de antemano.
  #2 (permalink)  
Antiguo 07/03/2003, 09:55
Avatar de macedo  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 124
Antigüedad: 23 años, 3 meses
Puntos: 0
Hola Sergio.

Estoy trabajando en algo parecido.

Se me ha ocurrido algo que a lo mejor te puede servir.

En la página pones una función javascript a la que llamas con el evento onload.

Esta función, mediante innerhtml recolecta el código html y luego mediante un location.href o bien con window.open mandas el codigo en la url como si fuera un get.

Esta opción tiene algun problemilla con las comillas que estoy intentando solucionar, pero creo que funcionará.

Lo malo es que te genera tráfico de más.

Otra cosa, en el asp que reciba la información deberías hacer un replace para quitar la función de javascript para que almacene el codigo html pero no la función en el cache, porque si no cuando cargues la pagina desde el cache volverá a enviar el código.

Espero que te sirva la idea. De todos modos estoy trabajando en ello así que cuando lo tenga publicaré el código.

Saludos.
  #3 (permalink)  
Antiguo 07/03/2003, 17:05
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 23 años, 3 meses
Puntos: 0
el extinto vgaray habia puesto el codigo por ahi, deberias de hacer la busqueda a ver si se salvo de la hackeada de fin de año
  #4 (permalink)  
Antiguo 07/03/2003, 18:43
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 23 años, 6 meses
Puntos: 2
este es el codigo que escribio vgaray.

pruebalo, extrae el codigo html de la url que le pongas. esta muy bien.

una cosa, he intentado guardar el contenido un fichero de texto pero me da un error muy extraño, si lo consigues, avisame.

<%

strUrl = "http://www.google.com/"
Dim objXML
'On error resume next
'Set objXML = Servger.CreateObject ("Microsoft.XMLHTTP")
Set objXML = Server.CreateObject ("MSXML2.ServerXMLHTTP")
'Set objXML = Server.CreateObject ("MSXML2.XMLHTTP.3.0")
'Set objXML = Server.CreateObject ("MSXML2.XMLHTTP.4.0")


If Err Then
Response.write "Error: " & Err.Description
End If


objXML.Open "GET", strURL, False, "", ""
objXML.send
If objXML.Status >= 400 And objXML.Status <= 599 Then
Response.write "Existe un error : " & objXML.Status & " - " & objXML.statusText
Else
Response.write objXML.ResponseText
End If
%>
  #5 (permalink)  
Antiguo 10/03/2003, 01:59
 
Fecha de Ingreso: marzo-2003
Mensajes: 18
Antigüedad: 22 años, 1 mes
Puntos: 0
Gracias a todos por el interés mostrado, el código es justo lo que necesitaba.

En cuanto al error al escribir en un archivo, seguramente lo habrás tenido en cuenta, pero lo que se me ocurre es que el usuario de IIS (IUSR_SERVIDOR) no tenga permiso de escritura sobre el directorio en el que quieres almacenar el fichero.

Un saludo.
  #6 (permalink)  
Antiguo 10/03/2003, 02:47
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 23 años, 6 meses
Puntos: 2
no es tema de permisos por lo que falla, de veras, es otra cosa que no se cual es.

intnta guardar el contenido de una url en un fichero de texto, y me cuentas que tal.
  #7 (permalink)  
Antiguo 10/03/2003, 03:02
 
Fecha de Ingreso: marzo-2003
Mensajes: 18
Antigüedad: 22 años, 1 mes
Puntos: 0
Yo acabo de probar a salvar el contenido en un archivo y no he tenido problema. El código que he usado es el siguiente, por si te ayuda:

<%

'On Error Resume Next

Dim objXML,strUrl

strUrl = "http://unaurl"

'Set objXML = Servger.CreateObject ("Microsoft.XMLHTTP")
Set objXML = Server.CreateObject ("MSXML2.ServerXMLHTTP")
'Set objXML = Server.CreateObject ("MSXML2.XMLHTTP.3.0")
'Set objXML = Server.CreateObject ("MSXML2.XMLHTTP.4.0")

if Err then
Response.write "Error: " & Err.Description
end if

objXML.Open "GET", strURL, false, "", ""
objXML.send

if objXML.Status >= 400 and objXML.Status <= 599 then
Response.write "Error al obtener página: " & objXML.Status & " - " & objXML.statusText
else
ResponsePage = objXML.ResponseText

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile(Server.Mappath("resultado.htm") , True)

f.Write ResponsePage
f.Close
set fso = Nothing

Response.write ("terminado")
end if

Set objXML = Nothing


%>
  #8 (permalink)  
Antiguo 10/03/2003, 03:07
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 23 años, 6 meses
Puntos: 2
cierto, se guarda sin problemas.

pues no entiendo porque diablos no me lo guardaba antes a mi.... supongo que habria algo mal en el codigo.

gracias.
  #9 (permalink)  
Antiguo 10/03/2003, 07:23
Avatar de Ellyza  
Fecha de Ingreso: agosto-2002
Ubicación: España
Mensajes: 176
Antigüedad: 22 años, 8 meses
Puntos: 0
Creo que estaría muy bien para los que no somos expertos en el tema que algún maestro comentara el códogo.
Saludos.
  #10 (permalink)  
Antiguo 10/03/2003, 07:40
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
explicacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:53.