Power Builder - FTP...URGENTE, NECESITO DE SU AYUDA

   
Vista:
Imágen de perfil de antonio

FTP...URGENTE, NECESITO DE SU AYUDA

Publicado por antonio (1114 intervenciones) el 10/06/2012 05:35:26
Hola a todos:

Un saludo,

necesito bajar unos archivos txt desde una direccion FTP, esta direccion no cuenta con password ni usuario (Para los que estan en México, son los archivos de folios y series del SAT).

Esta es la direccion FTP del SAT:

ftp://ftp2.sat.gob.mx/agti_servicio_ftp/verifica_comprobante_ftp/

Ya he intentado hacerlo pero no he tenido exito, si alguien tiene ese proceso o algun ejemplo por favor le pido su enorme ayuda, me urge.

Si tienen el ejemplo y una pequeña explicación estare agradecido infinitamente.

Gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

FTP...URGENTE, NECESITO DE SU AYUDA

Publicado por Felipe (2 intervenciones) el 11/06/2012 18:47:06
Antonio.

Yo lo he hecho creando un un archivo bat dinámicamente, y luego ejecutándolo desde PB.
Este es un ejemplo(no te aseguro que la sintaxis este 100% correcta, pero es básicamente la idea).

integer li_File

//Se crea archivo bat que descarga los archivos
li_File = FileOpen("c:\micarpeta\descargaftp.bat", LineMode!, Write!, LockWrite!, Append!)

FileWrite(li_File, 'cd c:\micarpeta')
FileWrite(li_File, 'ftp')
FileWrite(li_File, 'open')
FileWrite(li_File, ls_url )
FileWrite(li_File, is_usuario)
FileWrite(li_File, is_password)
FileWrite(li_File, 'prompt')
FileWrite(li_File, 'binary')
FileWrite(li_File, 'mget *.txt ')
FileWrite(li_File, 'bye')
FileClose(li_File)

//itera para dar un tiempo a que se cree el archivo completamente
DO WHILE NOT FileExists('c:\micarpeta\descargaftp.bat')
Yield()
SetPointer(HourGlass!)
LOOP

SetPointer(Arrow!)

//se ejecuta el bat para descargar los archivos del ftp
run('c:\micarpeta\descargaftp.bat')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de antonio

FTP...URGENTE, NECESITO DE SU AYUDA

Publicado por antonio (1114 intervenciones) el 12/06/2012 18:13:37
Hola Felipe:

Antes que nada te agradezco tu fina atencion...

ya realice las pruebas pero nada, no consigo hacerlo funcionar:

lo que hice fue lo siguiente:

integer li_File

//Se crea archivo bat que descarga los archivos
li_File = FileOpen("c:\micarpeta\descargaftp.bat", LineMode!, Write!, LockWrite!, Append!)

FileWrite(li_File, 'cd c:\micarpeta')
FileWrite(li_File, 'ftp')
FileWrite(li_File, 'open')
FileWrite(li_File, 'ftp://ftp2.sat.gob.mx/agti_servicio_ftp/verifica_comprobante_ftp/
' )
FileWrite(li_File, '') // No lleva usuario para ingresar
FileWrite(li_File, '') // no lleva password para ingresa
FileWrite(li_File, 'prompt') // Esto no se para que sirva
FileWrite(li_File, 'binary')
FileWrite(li_File, 'mget *.txt ')
FileWrite(li_File, 'bye')
FileClose(li_File)

//itera para dar un tiempo a que se cree el archivo completamente
DO WHILE NOT FileExists('c:\micarpeta\descargaftp.bat')
Yield()
SetPointer(HourGlass!)
LOOP

SetPointer(Arrow!)

//se ejecuta el bat para descargar los archivos del ftp
run('c:\micarpeta\descargaftp.bat')

cuando doy el run solo parece la ventana negra del DOS y se queda en ftp y de ahi en adelante ya no se como funciona esto.

Te agradezco me puedas explicar un poquito mas ya que ando perdido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

FTP...URGENTE, NECESITO DE SU AYUDA

Publicado por Felipe (1 intervención) el 12/06/2012 22:38:12
antonio,

puse un comentario luego de cada linea de código que agregué o modifiqué.

//Se crea archivo bat que descarga los archivos
li_File = FileOpen("c:\micarpeta\descargaftp.bat", LineMode!, Write!, LockWrite!, Append!)

FileWrite(li_File, '@echo off') //Para que no aparezca la ventana negra
FileWrite(li_File, 'cd c:\micarpeta')
FileWrite(li_File, 'ftp -A') //Inicio de sesión Anónimo(nótese que es A mayúscula)
FileWrite(li_File, 'open')
FileWrite(li_File, 'ftp2.sat.gob.mx') //la Url es solo hasta el '.mx', el resto son directorios
//que debes ir navegando
FileWrite(li_File, 'cd agti_servicio_ftp') //abre directorio
FileWrite(li_File, 'cd verifica_comprobante_ftp') //abre subdirectorio

FileWrite(li_File, 'prompt') // Esto desactiva la preguntas de confirmación
//después de cada acción(si/no)

FileWrite(li_File, 'binary')
FileWrite(li_File, 'mget *.txt ')
FileWrite(li_File, 'bye')
FileClose(li_File)

//itera para dar un tiempo a que se cree el archivo completamente
DO WHILE NOT FileExists('c:\micarpeta\descargaftp.bat')
Yield()
SetPointer(HourGlass!)
LOOP

SetPointer(Arrow!)

//se ejecuta el bat para descargar los archivos del ftp
run('c:\micarpeta\descargaftp.bat')

Ve probando los comandos ejecutándolos directamente en el la linea de comandos(Inicio-->Ejecutar-->cmd.exe), y cuando te funcionen bien llévalo al bat que estas creando en PowerBuilder.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar