elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  descargar ftp
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: descargar ftp  (Leído 2,906 veces)
sp26

Desconectado Desconectado

Mensajes: 88


Ver Perfil
descargar ftp
« en: 6 Diciembre 2006, 18:41 pm »

Quisiera saber de una form que cree un Archivo txt (indicando los datos en el codigo mismo) y lo suba a un servidor FTP de manera silenciosa.   Tambien que descargue un archivo ftp

Me habian dicho que con Winsock, pero estuve redondeando y al final no encontre como  :-( Si hay otra manera de hacerlo seria mejor tambien ;).


En línea

jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: descargar ftp
« Respuesta #1 en: 7 Diciembre 2006, 09:15 am »

Espero que esto te sirva. Cuentanos a ver como te ha ido al probarlo.



Private Declare Function GetShortPathName Lib "kernel32" Alias _
    "GetShortPathNameA" (ByVal lpszLongPath As String, _
    ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
    (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _
    ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''' FTP ''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'Esta API es para que de una ruta WIndows, me devuelva una ruta MSDOS,
'ya que el comando FTP del prompt no reconoce rutas largas

Public Function RutaDos(strFileName As String) As String

    Dim lngRes As Long, strPath As String
    strPath = String$(165, 0)
    lngRes = GetShortPathName(strFileName, strPath, 164)
    RutaDos = Left$(strPath, lngRes)
   
End Function


''''''''''''''''''''''''''''''''''
''''''' subir fichero ''''''''''''
''''''''''''''''''''''''''''''''''


Function PutFichero()
On Error GoTo ERROR

    Dim Retval
    'escribimos el fichero ftp.txt que hara toda la labor
    If Len(Dir("C:\ftp.txt")) <> 0 Then Kill "C:\ftp.txt"
   
    Dim StrFtp As String
    Dim StrUsuario As String
    Dim StrPassword As String
    Dim strCarpetaRemota As String
    Dim StrRutalocalFichero As String
   
 
    StrFtp = "ftp.sitio.com"
    StrUsuario = "sitio.com"
    StrPassword = "contraseña"
    strCarpetaRemota = "html/BD/"
    StrRutalocalFichero =  "BD.zip"
   
    ' subir al servidor
    NumeroArchivo = FreeFile
    Open "C:\ftp.txt" For Append As #NumeroArchivo
    Print #NumeroArchivo, "Open " & StrFtp
    Print #NumeroArchivo, StrUsuario
    Print #NumeroArchivo, StrPassword
    Print #NumeroArchivo, "cd " & strCarpetaRemota
    Print #NumeroArchivo, "binary"
    Print #NumeroArchivo, "put " & RutaDos(StrRutalocalFichero)
    Print #NumeroArchivo, "bye"
    Close #NumeroArchivo
    DoEvents

'    Retval = Shell("ftp -s:C:\ftp.txt", vbNormalFocus)
    Call ExecuteAndWait("ftp -s:C:\ftp.txt")
   
    Exit Function

ERROR:
End Function



''''''''''''''''''''''''''''''''''
''''''' bajar fichero ''''''''''''
''''''''''''''''''''''''''''''''''


Function GetFichero()
On Error GoTo ERROR

    Dim Retval

    Dim StrFtp As String
    Dim StrUsuario As String
    Dim StrPassword As String
    Dim strCarpetaRemota As String
    Dim StrFicheroRemoto As String
   
    StrFtp = "ftp.sitio.com"
    StrUsuario = "sitio.com"
    StrPassword = "contraseña"
    strCarpetaRemota = "html/BD/"
    StrFicheroRemoto = "BD.ZIP"
   
    ' bajar el fichero
    NumeroArchivo = FreeFile
    Open "C:\ftp.txt" For Append As #NumeroArchivo
    Print #NumeroArchivo, "Open " & StrFtp
    Print #NumeroArchivo, StrUsuario
    Print #NumeroArchivo, StrPassword
    Print #NumeroArchivo, "cd " & strCarpetaRemota
    Print #NumeroArchivo, "binary"
    Print #NumeroArchivo, "get " & StrFicheroRemoto & " " & _
            RutaDos(Directorio) & "BD.zip"
    Print #NumeroArchivo, "bye"
    Close #NumeroArchivo
    DoEvents

'    Retval = Shell("ftp -s:C:\ftp.txt", vbNormalFocus)
    Call ExecuteAndWait("ftp -s:C:\ftp.txt")
   
    If Len(Dir("C:\ftp.txt")) <> 0 Then Kill "C:\ftp.txt"
   
    ' cambiar nombre, para tener una cópia de seguridad
    NumeroArchivo = FreeFile
    Open "C:\ftp.txt" For Append As #NumeroArchivo
    Print #NumeroArchivo, "Open " & StrFtp
    Print #NumeroArchivo, StrUsuario
    Print #NumeroArchivo, StrPassword
    Print #NumeroArchivo, "cd " & strCarpetaRemota
    Print #NumeroArchivo, "rename " & StrFicheroRemoto & " " & _
            "BD_" & FECHA & ".zip"
    Print #NumeroArchivo, "bye"
    Close #NumeroArchivo
    DoEvents

    Call ExecuteAndWait("ftp -s:C:\ftp.txt")
   
    Exit Function

ERROR:
End Function


En línea

ups!!
rixi15

Desconectado Desconectado

Mensajes: 66



Ver Perfil
Re: descargar ftp
« Respuesta #2 en: 7 Diciembre 2006, 11:58 am »

y en el form_load k se pone¿?
En línea

Castord

Desconectado Desconectado

Mensajes: 60



Ver Perfil
Re: descargar ftp
« Respuesta #3 en: 7 Diciembre 2006, 13:32 pm »

WTF!

ese codigo no hace nada interesante...
En línea

Desde Asunción - Paraguay
/*Es una ***** pero igual amo mi país!*/
sp26

Desconectado Desconectado

Mensajes: 88


Ver Perfil
Re: descargar ftp
« Respuesta #4 en: 7 Diciembre 2006, 21:06 pm »

¿Porque no hace nada interesante? Tienes algun codigo mejor? si lo tienes, seria bueno que lo compartas con nosotros  ;)



Gracias Jrhomer, probare tu codigo ;).

aunque no entiendo en la parte que dices:.

StrRutalocalFichero =  "BD.zip"


Tambien no dejaste claro como crear un archivo *.txt, de igual manera muchas gracias, lo probare .
En línea

rixi15

Desconectado Desconectado

Mensajes: 66



Ver Perfil
Re: descargar ftp
« Respuesta #5 en: 7 Diciembre 2006, 21:52 pm »

ami no me funciona ay k ponmer algo en el form load¿?
En línea

sp26

Desconectado Desconectado

Mensajes: 88


Ver Perfil
Re: descargar ftp
« Respuesta #6 en: 8 Diciembre 2006, 23:22 pm »

haber, tampoco me funciona.

intentare cis=3
En línea

sp26

Desconectado Desconectado

Mensajes: 88


Ver Perfil
Re: descargar ftp
« Respuesta #7 en: 10 Diciembre 2006, 02:47 am »

 :huh:
En línea

jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: descargar ftp
« Respuesta #8 en: 12 Diciembre 2006, 16:32 pm »

El código fuinciona perfectamente, lo tengo funcionando en aplicaciones y no hay problema.

Para descargar un archivo llama a:
Código:
GetFichero

Para subir una archivo al servidor FTP llama a:
Código:
PutFichero()

Las funciones son personales.... no son para que las copies y ya tenga que funcionar, mirar a ver que modificaciones teneis que .hacer, pero ese código funciona perfectamente.

Citar
aunque no entiendo en la parte que dices:.

StrRutalocalFichero =  "BD.zip"
BD.zip es el archivo que subo y bajo del servidor FTP y se encuentra en la ruta que indico .... imagina que pone C:\archivo.zip. En MI caso el archivo BD.zip se encuentra en el mismo directorio donde ejecuto la aplicación, es por eso que no hay más ruta.

En línea

ups!!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Descargar c++
Programación C/C++
RedZer 7 7,061 Último mensaje 30 Enero 2011, 20:08 pm
por RedZer
Descargar AndEngine
Dudas Generales
Bledniss 0 5,194 Último mensaje 25 Agosto 2011, 12:16 pm
por Bledniss
descargar asm
ASM
Stuxnet 1 4,218 Último mensaje 21 Septiembre 2011, 09:01 am
por Eternal Idol
Descargar DLL
Programación C/C++
Cromatico 0 1,567 Último mensaje 22 Septiembre 2013, 07:00 am
por Cromatico
Descargar de Atresmedia.
Foro Libre
beholdthe 0 1,387 Último mensaje 13 Mayo 2014, 00:13 am
por beholdthe
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines