Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

set fname = fs.OpenTextFile("http://www.infomercados.com/ficehrostxt/mc/bm20030307.txt" , 1)

205 views
Skip to first unread message

jjpp

unread,
Mar 7, 2003, 1:53:20 PM3/7/03
to
¿Como puedo abrir un fichero para lectura que esta en otro servidor? ....

el explorador me saca:

Nombre o número de archivo incorrecto
/tb/xxx.asp, line 4

<%
set fs=Server.CreateObject("Scripting.FileSystemObject")

set fname =
fs.OpenTextFile("http://www.infomercados.com/ficehrostxt/mc/bm20030307.txt"
, 1)


jjpp

unread,
Mar 7, 2003, 2:14:21 PM3/7/03
to
Perdon es "ficherostxt" y tampoco funciona pero si vas a la dirección si
saca el fichero.

Existe algún OpenURL??????

"jjpp" <j...@juanjo.com> escribió en el mensaje
news:b4aplc$7j6$1...@nsnmrro2-gest.nuria.telefonica-data.net...


> ¿Como puedo abrir un fichero para lectura que esta en otro servidor? ....
>
> el explorador me saca:
>
> Nombre o número de archivo incorrecto
> /tb/xxx.asp, line 4
>
> <%
> set fs=Server.CreateObject("Scripting.FileSystemObject")
>
> set fname =
>

fs.OpenTextFile("http://www.infomercados.com/ficherostxt/mc/bm20030307.txt"
> , 1)
>
>


Matias Iacono

unread,
Mar 7, 2003, 3:11:13 PM3/7/03
to
No puedes usar el FileSystemObject de esta forma.

Ya que trabaja con paths fisicos. Ademas de que inmerso en esto, hay un
monton de otras razones por la cual no te dejaria hacer esto.

Pero una de las posibles soluciones es crearte un componente que utilice el
INET, este otro control de MS, te retorna el contenido de una pagina web. O
sea, el texto que fue escrito. Claro esta que no te retornara el codigo de
una ASP, si no el resultado que esta arroje.

"jjpp" <j...@juanjo.com> wrote in message
news:b4aqsp$eea$1...@nsnmrro2-gest.nuria.telefonica-data.net...

jjpp

unread,
Mar 8, 2003, 4:50:17 AM3/8/03
to
Gracias Matias, pero mis conocimientos de crear componentes es nulo, yo lo
único que se es programar un poco en ASP, Javascript, XML y poco más.

La idea que devuelva el contenido de una página web me sobra ya que
realmente no es ni una página asp, ni html, es un simple txt. Si me explicas
un poco más sobre el componente INET para utilizarlo desde ASP te lo
agradecería enormemente. Si no se puede inténtalo aunque sea por
programación en VB o Delphi ya que hace muchos años (versión 2) estuve
haciendo algunas cositas en este lenguaje.

Un saludo.

"Matias Iacono" <mia...@dbi-corp.com> escribió en el mensaje
news:OyeeVSO5...@TK2MSFTNGP12.phx.gbl...

Jhonny Vargas P.

unread,
Mar 8, 2003, 7:38:30 PM3/8/03
to
Hola jjpp,

Tengo otra solución más simple, ya que con lo que planteas es imposible:

Baja el Parser del XML 4.0 de las páginas de microsoft y realiza lo
siguiente:


Dim strUrlPath
strUrlPath = "http:.../../fichero.txt"

Dim objServerXmlHttp
Set objServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")

objServerXmlHttp.open "POST", strUrlPath, True
objServerXmlHttp.send

Response.Write objServerXmlHttp.ResponseText

Set objServerXmlHttp = Nothing


Por lo tanto, todo el código entregado queda en
"objServerXmlHttp.ResponseText"


Saludos,
Jhonny Vargas P.

"jjpp" <j...@juanjo.com> wrote in message

news:b4aplc$7j6$1...@nsnmrro2-gest.nuria.telefonica-data.net...

jjpp

unread,
Mar 9, 2003, 7:17:05 AM3/9/03
to
Ok, estoy en ello pero me sale este error ...

msxml3.dll (0x8000000A)
El dato necesario para completar esta operación no está disponible todavía.
/tb/xxx.asp, line 12

supongo que sería porque la versión parece que pueda ser la 3 en vez de la
4.
me bajo la 4 de esta dirección ....
http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?ur
l=/msdn-files/027/001/766/msdncompositedoc.xml

la instalo me aparece un iconito con la ayuda ...
Microsoft XML 4.0 Parser SDK

pero me sigue apareciendo el mismo error,
Tipo de error:
msxml3.dll (0x8000000A)
El dato necesario para completar esta operación no está disponible todavía.
/tb/xxx.asp, line 12

¿el msxml3.dll no tendría que aparecer, no?
para mi que no esta bien instalado

"Jhonny Vargas P." <c_h_a_n_g...@hotmail.com> escribió en el mensaje
news:e$4FZQd5C...@TK2MSFTNGP11.phx.gbl...

jjpp

unread,
Mar 9, 2003, 7:26:19 AM3/9/03
to
por cierto la línea 12 es : Response.Write objServerXmlHttp.ResponseText
 
 
 
"jjpp" <j...@juanjo.com> escribió en el mensaje news:OvyFeVj5...@TK2MSFTNGP12.phx.gbl...

Ne0

unread,
Mar 10, 2003, 2:54:20 AM3/10/03
to
Yo lo k utilizo es lo siguiente y me funciona:

strUrlPath = "http:.../../fichero.txt"
set httpClient = Server.CreateObject("WinHttp.WinHttpRequest.5.1") ' windows
2000 server SP3
o
'set httpClient = Server.CreateObject("WinHttp.WinHttpRequest.5") ' version
descrgable
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webservice
s.asp

temp = httpClient.Open("GET", strUrlPath, true)
httpClient.Send()
httpClient.WaitForResponse(-1)
strResult = httpClient.ResponseText
response.Write(strResult)

"jjpp" <j...@juanjo.com> escribió en el mensaje
news:OvyFeVj5...@TK2MSFTNGP12.phx.gbl...

jjpp

unread,
Mar 10, 2003, 7:26:40 AM3/10/03
to
Ok, este si que me funciona, pero los saltos de linea me los devuelve como
un blanco, Supongo que será porque el archivo txt lo está entendiendo como
html.

¿Hay alguna forma de leerlo como txt?

gracias.

"Ne0" <t...@nolosab.es> escribió en el mensaje
news:#PGVmnt5...@TK2MSFTNGP12.phx.gbl...

Ne0

unread,
Mar 10, 2003, 7:53:29 AM3/10/03
to
tendras k convertirlo es decir, hacer un
replace(texto,char(13),"<br />)
asi creo que te funcionará
Saludos

"jjpp" <j...@juanjo.com> escribió en el mensaje

news:OikYe$v5CHA...@TK2MSFTNGP12.phx.gbl...

Jhonny Vargas P.

unread,
Mar 10, 2003, 8:26:07 AM3/10/03
to

Hey Gracias Ne0 por intervenir... acabo de ver eso.

Saludos,
Jhonny Vargas P.


"Ne0" <t...@nolosab.es> escribió en el mensaje

news:eqoVoOw5...@TK2MSFTNGP09.phx.gbl...

Ne0

unread,
Mar 11, 2003, 2:39:44 AM3/11/03
to
Sin problemas colega, "pa" eso estamos no?
Saludos!!

"Jhonny Vargas P." <c_h_a_n_g...@hotmail.com> escribió en el mensaje
news:u7pUQkw5...@TK2MSFTNGP11.phx.gbl...

Ne0

unread,
Mar 11, 2003, 2:44:11 AM3/11/03
to
Otra cosa k podrias hacer si lo k vas a devolver es solo el texo plano es:
Response.ContentType = "text/plain"
Asi te devolvera texto plano ya que por defecto ASP devuelve text/html
Saludos y espero k te sirva.

"jjpp" <j...@juanjo.com> escribió en el mensaje

news:OikYe$v5CHA...@TK2MSFTNGP12.phx.gbl...

jjpp

unread,
Mar 11, 2003, 4:13:22 AM3/11/03
to
Ok, gracias foreros os cuento al final como lo solucioné ya que necesitaba
leer el archivo linea a linea para tratarlo. Luego meteré esos datos en una
tabla de base de datos.

Ahora mi idea para rizar el rizo es que este programa asp se ejecute todos
los días (Lunes a Viernes a partir de las 18:30) "SOLITO". En caso de que el
fichero no se encontrase en el directorio a esa hora que lo estuviera
intentando cada 30 minutos hasta por ejemplo las 21:00.

Yo había pensado en el AT del NT lanzando el explorador con la pagina web en
ASP como parámetro, pero creo que eso tendrá el problema de luego cerrar la
página automáticamente. Además tendría que capturar la excepción de cuando
el fichero no esté disponible y poner un temporizador que salte cada 30
minutos si no se consiguió abrir el archivo.

¿Cómo lo veis?


<html>
<%

fecha_txt = "20030310"

Dim strUrlPath
strUrlPath = "http://www.infomercados.com/FICHEROSTXT/MC/BM" & fecha_txt &
".TXT"

set httpClient = Server.CreateObject("WinHttp.WinHttpRequest.5.1")

temp = httpClient.Open("GET",strUrlPath,true)
httpClient.Send()
httpClient.WaitForResponse(-1)

strResult = httpClient.ResponseText

set fs=Server.CreateObject("Scripting.FileSystemObject")
set fname = fs.CreateTextFile(Server.MapPath("\") & "\tb\mc\txt\BM" &
fecha_txt & ".txt" , true)
fname.WriteLine(strresult)
fname.Close

Set HttpClient = Nothing

' Abrimos el archivo local para lectura linea a linea

set fname = fs.OpenTextFile(Server.MapPath("\") & "\tb\mc\txt\bm"&
fecha_txt &".txt" , 1)
do while fname.AtEndOfStream = false
linea = fname.ReadLine

if linea <> "" then
a = InStr(1,linea,",")
b = InStr(a+1,linea,",")
c = InStr(b+1,linea,",")
d = InStr(c+1,linea,",")
e = InStr(d+1,linea,",")
f = InStr(e+1,linea,",")

valor = mid(linea,1,a-1)
fecha = mid(linea,a+1,b-a-1)
apertura = mid(linea,b+1,c-b-1)
maximo = mid(linea,c+1,d-c-1)
minimo = mid(linea,d+1,e-d-1)
cierre = mid(linea,e+1,f-e-1)
volumen = mid(linea,f+1)

Response.Write(valor&"<br />")

end if
loop

fname.close

%>
<html>


"Ne0" <t...@nolosab.es> escribió en el mensaje

news:eMkIcG65...@TK2MSFTNGP09.phx.gbl...

Ne0

unread,
Mar 11, 2003, 4:37:20 AM3/11/03
to
Pues solo se me ocurre k el programador de tareas con un script k llame a
esa pagina
en un archivo por lotes pondria:
solo pondria
start http://www.miservidor.com/pagina.asp
pero ten en cuenta de k abriria una pagina del navegador cada vez k se
ejecute u k ademas si no encuantra el archivo no hara nada

otra cosa seria un programa independiente p.e. en delphi o Visual Basic,
(prefiero el primero) que no seria muy dificil de implementar
Si necesitas ayuda en la implementacion del programa ( si es en delphi mucho
mejor ) no dudes en poenrte en contacto conmigo en
antispamh...@euronet-alliance.com
kita lo del antispam ;)
Saludos!!

"jjpp" <j...@juanjo.com> escribió en el mensaje

news:OHfi4565...@TK2MSFTNGP11.phx.gbl...

0 new messages