xmlhttp

11/01/2006 - 00:22 por Jimmy | Informe spam
Estoy intentando leer el codigo de una pagina externa para un tratamiento
posterior.
El problema en que la lectura no interpreta correctamente las letras con
acento. La página original tiene definido en cabecera iso-8859-1 y en el
html las letras acentuadas vienen como "á" y no de la forma á

El código que utilizo es:

Set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "GET","http://www.dominio.com/seccion.php", False
xml.Send
Response.Write xml.responseText
Set xml = Nothing

¿Alguna sugerencia?
Gracias

Preguntas similare

Leer las respuestas

#6 Jimy
13/01/2006 - 12:43 | Informe spam
Ok Miguel. Pero como una atención querría darte un bono de juego para
www.apuestaygana.com. Si quieres contacta conmigo en y
te doy detalles.

Pues siguiendo con el tema. Ahora que ya puedo leer bien el fichero y
mostrarlo, guardarlo,etc. Lo quiero montar es una secuencia para que lea
determinados links internos que vienen en el fichero. La cuestión que el
número de esos links es desconocido a priori y son del tipo
http://www.miapuesta.info/banner/ba...e&nota63
los digitos 1563 son variables.
Una vez que obtenga el link hay que ir a leer ese archivo para guardarlo.

En general se trata de leer toda una serie de ficheros y sus enlaces para
guardarlos y tener una website propia. Por cierto hay consentimiento del
autor.

Igual estoy abusando mucho de tu saber.
Saludos.


"Miguel Gonzalez" escribió en el mensaje
news:
Gracias por el ofrecimiento Jimy, de veras, pero ya "voy servido" de
trabajo...

Me alegro de haberte podido ayudar.

Saludos!
Miguel

Jimmy escribió:
Mostrar la cita
#7 Miguel Gonzalez
15/01/2006 - 14:28 | Informe spam
Hola Jimy.

Gracias por el ofrecimiento del "bono", pero no es necesario. La colaboración en este foro es
puramente voluntaria. Te agradezco el detalle, pero es que, además y por convicción personal, no
participo en juegos de azar. :-)

En relación a tu pregunta, el tema sería muy sencillo y eficiente si lo que se trabajara fuera un
fichero XML correctamente estructurado: Sólo habría que rescatar los nodos que contuvieran los
enlaces, proceder a leer su contenido y operar con el mismo. Dado que es un HTML (que puede estar
incorrectamente estructurado), se me ocurre, de entrada, que se podría hacer lo siguiente:

Antes de guardar la página "madre", recorrer el texto buscando los atributos "href" y almacenar en
un array las URLs que contienen. Luego, recorrer el array volviendo a capturar las nuevas páginas.

Algo así:

<%
'En la variable "texto" está almacenada la página
Dim j, hayRuta, urlRuta, tempTexto
j = 0
hayRuta = False
urlRuta = ""
Dim rutas()
For i = 1 To Len(texto)
tempTexto = tempTexto & Mid(texto, i, 1)
If hayRuta Then
If Right(tempTexto, 1) = """" Then
j = j + 1
ReDim Preserve rutas(j)
rutas(j) = urlRuta
hayRuta = False
urlRuta = ""
Else
urlRuta = urlRuta & Right(tempTexto, 1)
End If
End if
If Right(tempTexto, 6) = "href=""" Then
hayRuta = True
End If
Next
' Luego se recorre el array "rutas" recuperando cada página
' y haces lo que tengas que hacer
For i = 0 To UBound(rutas)
Response.Write rutas(i) & "<br>"
Next
%>

Nota: Atención al tipo de rutas presentes en los enlaces. Si son absolutas (que contienen la
dirección completa al recurso) no hay problema, pero si son relativas, tendrás que agregar a cada
dirección la parte que falta de la URL.

De todas formas, no acabo de entender la utilidad de tu estrategia: si lo que se trata es de copiar
un sitio entero (me parece deducir que los usuarios no ejecuturán el ASP, sino que verán las páginas
guardadas anteriormente por dicho ASP), ¿por qué no utilizas alguna herramienta específica de
descarga de sitios completos, o bien te creas un "mirror" (espejo) directamente via FTP?. Por otro
lado, si los usuarios sí ejecutan el ASP, y lo que buscas es solo que los enlaces de la página
servida sean navegables, te basta con agregar al "head" del documento la directiva <base href="URL
de la página original">

Saludos!
Miguel


Jimy escribió:
Mostrar la cita
Ads by Google
Search Busqueda sugerida