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
 

Leer las respuestas

#1 Jimmy
12/01/2006 - 01:03 | Informe spam
Miguel,

En primer lugar agradecerte las molestias que te has tomado.
Lo que pretendo hacer es obtener diariamente el contenido de la página que
te pasé, grabarla en mi server y a continuación poderla mostrar. Podría
hacerlo directamente con un iframe pero estaría penalizado por los
buscadores y por eso quiero tener los ficheros con todo el contenido. Al
servidor remoto no tengo ningún tipo de acceso ni posiblidad de tenerlo.
He encontrado el componente asphttp.dll que parece que funciona pero es de
pago.
Lo que me extraña que no haya solución porque seguro que casos como el mío
los hay.
Tampoco me importaria que la solución fuese en aspx.
Gracias de nuevo y saludos


"Miguel Gonzalez" escribió en el mensaje
news:%
Hola Jimy.

He estado mirando las referencias y, hasta donde se, la solución pasa por
indicar la codificación en
el propio archivo fuente de datos del servidor remoto. Ello es debido a que
el objeto
"ServerXMLHTTP" utiliza la codificación UTF-8 para la transferencia de datos
a menos que se le
indique lo contrario en el fichero fuente de datos. Creo que lo mejor sería
que buscaras una
alternativa a lo que quieres hacer. Si te explicas un poco más a lo mejor
podemos orientarte de
alguna forma.

Saludos!
Miguel


Jimy escribió:
Gracias por la repuesta.
Pero sigue sin funcionar. El problema creo que es que el servidor dá una
respuesta "personalizada" y los caracteres especiales viajan mal.
Quizá habría que mandar previamente una cabeceras. Pero no tengo ni idea
de cómo hacerlo. Si alguien lo me puediese decir.
La url de la que se obtiene el código es:
http://www.miapuesta.info/banner/ba...eccion.php

Si alguien me ayuda tendré una pequeña atención.

Saludos.

"Miguel Gonzalez" escribió en el mensaje
news:

Hola Jimmy.

Creo que sería mejor que utilizaras el objeto "ServerXMLHTTP", que es
mucho más eficiente para el intercambio de información entre servidores.

El "response", para que respete las cabeceras de codificación, cabría
hacerlo de la siguiente manera:

<%
Response.Write objXml.responseXML.text
%>

Un consejo último, evita usar como nombres del objeto o variable todo lo
que pueda confundirse con nombres de funciones, métodos o propiedades,
ya que pueden producirse "errores imprevisibles". En tu caso, en vez de
"Set xml...", podrías usar otro nombre para el objeto, tal como
"objXml...", por ejemplo:

<%
Set objXml = Server.CreateObject("Msxml2.ServerXMLHTTP")
%>

Saludos!
Miguel


Jimmy escribió:

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 &aacute;

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 similares