Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: eldiabloxico en 19 Octubre 2008, 02:45 am



Título: Subir txt por ftp
Publicado por: eldiabloxico en 19 Octubre 2008, 02:45 am
Hola aqui estoy de nuevo con otra duda, esta vez con ftp, explico.

Tengo un servidor ftp, lo que a mi me gustaria, es que el programa con darle a un boton suba un txt a un servidor ftp, y el que exita lo sobreescriba, ya que seguro que habra uno, espero que me puedan ayudar, gracias.


Título: Re: Subir txt por ftp
Publicado por: seba123neo en 19 Octubre 2008, 03:03 am
Hola,con el inet lo podes hacer..con el metodo Execute y el PUT...le tenes que pasarle el usuario ,la contraseña y el servidor..con apis me inmagino que se puede tambien...busca en internet que hay varios ejemplos..

saludos.


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 19 Octubre 2008, 03:10 am
si no me ekivoco seria asi

Inet1.Execute "ftp://usuarios:contraseña@ftp.usuarios.lycos.es", "PUT prueba.txt"

pero nada, lo e mirado y no sube.


Título: Re: Subir txt por ftp
Publicado por: byway en 19 Octubre 2008, 03:19 am
revisa esto :

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/209-inet-ftp.htm

esta completo.


Título: Re: Subir txt por ftp
Publicado por: cobein en 19 Octubre 2008, 03:35 am
Aca tenes una clase, usa APIs y tiene todo lo que necesitas para hacer eso.

http://www.advancevb.com.ar/page/index.php?option=com_content&view=article&id=49:ftp-class&catid=39:code&Itemid=56


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 19 Octubre 2008, 03:48 am
Siento molestar, pero es que nada, lo de byway, e mirado el code que me podria ayudar, y nada, no me deja, da error, ya que solo necesito el de subir un archivo por ftp, solo ese, y el de cobein, claramente no se como usarlo, lo siento, e usado este.

Inet1.Execute "ftp://usuario:contraseña@ftp.usuarios.lycos.es", "PUT prueba.txt", "prueba.txt"

pero no sale ni error ni nada, y no se sube.


Título: Re: Subir txt por ftp
Publicado por: byway en 19 Octubre 2008, 06:08 am
del codigo del enlace que puse de recursosvisualbasic, usando el inet :


Código
  1.  
  2. With Inet1  
  3.  
  4.        'Asigna la Url, es decir el nombre del Host FTP  
  5.        .URL = "ftp://ftp.usuarios.lycos.es"  
  6.  
  7.        'nombre de usuario y password de la cuanta FTP  
  8.        .UserName = "Usuario"  
  9.        .Password = "Pass"  
  10.  
  11.        'Escribe el fichero en el servidor con el comando Put  
  12.        Call .Execute(, "Put " & "prueba.txt" & " " & "prueba.txt")  
  13.  
  14.        DoEvents  
  15.  
  16. End With  




Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 19 Octubre 2008, 06:15 am
del codigo del enlace que puse de recursosvisualbasic, usando el inet :


Código
  1. Dim El_Host As String  
  2.  
  3. El_Host = "ftp://" & txt_servidor  
  4.  
  5. With Inet1  
  6.  
  7.        'Asigna la Url, es decir el nombre del Host FTP  
  8.        .URL = El_Host  
  9.  
  10.        'nombre de usuario y password de la cuanta FTP  
  11.        .UserName = Usuario  
  12.        .Password = Pass  
  13.  
  14.        'Escribe el fichero en el servidor con el comando Put  
  15.        Call .Execute(, "Put " & prueba.txt & " " & prueba.txt)  
  16.  
  17.        DoEvents  
  18.  
  19. End With  



se que no se mucho del control inet, pero, ai donde se conecta al servidor?, y como relleno eso, es decir, donde pone url, que pongo ftp.usuarios.lycos.es?? y arriba en el_host que pongo?


Título: Re: Subir txt por ftp
Publicado por: byway en 19 Octubre 2008, 06:25 am
ups se me paso pera que lo edito...

ahora que lo veo esta demas la variable lo puedes poner directo..

Código
  1. .URL = "ftp://ftp.usuarios.lycos.es"

Código
  1. Call .Execute(, "Put " & "prueba.txt" & " " & "prueba.txt")

primer prueba.txt es el archivo a subir con ese nombre
segundo prueba.txt es el archivo subido con ese nombre, este lo puedes cambiar


Título: Re: Subir txt por ftp
Publicado por: byway en 19 Octubre 2008, 06:54 am
Aca tenes una clase, usa APIs y tiene todo lo que necesitas para hacer eso.

http://www.advancevb.com.ar/page/index.php?option=com_content&view=article&id=49:ftp-class&catid=39:code&Itemid=56

Muy buena cobein ... esa clase esta completa.




Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 19 Octubre 2008, 07:47 am
me sale error, exactamente "Unable to contect to remote host"


Título: Re: Subir txt por ftp
Publicado por: vivachapas en 19 Octubre 2008, 18:58 pm
yo tb intente con el source de recursosvisualbasic.. y tb me sale error :S (lo habia posteado mas abajo) trate de solucionarlo.. pero nunca pude y busque banda de ejemplos pero no lo pude solucionar..
el error me lo tiraba en la linea del Call .Execute
pero bue.. a ver si alguno lo puede solucionar XD


Título: Re: Subir txt por ftp
Publicado por: seba123neo en 19 Octubre 2008, 19:10 pm
yo tambien pruebo y no funciona con el inet...y tambien probe hacerlo con las api's del FTP hay un ejemplo en la api guide..es como el modulo de cobein...pero tambien no anda...este no tira error...simplemente no lo sube...


Título: Re: Subir txt por ftp
Publicado por: Spider-Net en 19 Octubre 2008, 20:01 pm
Yo una vez hice un programa que subía por ftp un archivo a internet. Como tampoco lo conseguí de ninguna de las maneras lo que hice fue usar el cliente ftp de windows (que viene incorporado de serie  ;D) para subir mi archivo. Es una pequeña chapuza pero bueno.. al menos funciona xD
Código
  1. Sub SubirArchivo()
  2. Open "C:\datos.dat" For Output As #1
  3. Print #1, "nombre de usuario"
  4. Print #1, "contraseña"
  5. Print #1, "put tuarchivo.txt"
  6. Close #1
  7.  
  8. DoEvents
  9.  
  10. Shell "cmd /c ftp -v -i -s:C:\datos.dat ftp.tuhost.com", vbHide
  11.  
  12. DoEvents
  13.  
  14. Kill "C:\datos.dat"
  15. End Sub

Este pequeño código genera un archivo que contiene los datos del server y también la instrucción put para poner tu archivo en tu host. Luego investigué en internet como podía usar todos esos datos para mandar el archivo al host con una sola línea y como véis en el ejemplo lo conseguí. Se sube el fichero sin problemas a internet y luego se borra el fichero que contiene los datos de login.

Supongo que al menos hace el apaño xD

Saludos!


Título: Re: Subir txt por ftp
Publicado por: ssccaann43 © en 19 Octubre 2008, 20:24 pm
Aqui tienes un source de un cliente FTP. Te ayudara un poco, no soy el creador. Pero modifique algunas cositas. Esta totalmente funcional, espero te ayude.

Cliente FTP (http://rapidshare.com/files/155584792/Cliente_FTP.rar.html)


Título: Re: Subir txt por ftp
Publicado por: seba123neo en 19 Octubre 2008, 20:32 pm
digamos que no necesitamos un cliente FTP..solo que se apriete un boton y se suba el archivo nomas...ya tenemos todas las formas para subirlo pero no anda ninguna..recien probe una forma con el winsock y lo sube al TOQUE si alguien le interesa...

saludos.


Título: Re: Subir txt por ftp
Publicado por: ssccaann43 © en 19 Octubre 2008, 20:35 pm
Si seba, pero es mejor q lo tenga todo asi puede subir y bajar archivos.


Título: Re: Subir txt por ftp
Publicado por: vivachapas en 19 Octubre 2008, 21:11 pm
seba me podes pasar la forma con el winsock x favor... a mi me interesa...
gracias


Título: Re: Subir txt por ftp
Publicado por: seba123neo en 19 Octubre 2008, 23:46 pm
aca lo pongo...

Código
  1. Option Explicit
  2.  
  3. Private Type Datos
  4.    Respuesta As String
  5.    Comando As String
  6. End Type
  7.  
  8. Dim Comandos(5) As Datos
  9. Dim Estado As Integer
  10. Dim Sitio As String, Usuario As String, Password As String, ArchivoRemoto As String, ArchivoLocal As String
  11. Dim TamañoBuffer As Long
  12. Dim EstaCerrado As Boolean
  13.  
  14. Private Sub Command1_Click()
  15.  
  16. Sitio = "ftp.tuservidor.com.ar"
  17. Usuario = "tuusuario"
  18. Password = "tucontraseña"
  19. ArchivoLocal = "c:\a.txt"
  20. ArchivoRemoto = "/carpetadetuservidor/a.txt"
  21. Comandos(0).Respuesta = "220"
  22. Comandos(0).Comando = "USER " + Usuario
  23. Comandos(1).Respuesta = "331"
  24. Comandos(1).Comando = "PASS " + Password
  25. Comandos(2).Respuesta = "230"
  26. Comandos(2).Comando = "TYPE I"
  27. Comandos(3).Respuesta = "200"
  28. Comandos(3).Comando = "PORT"
  29. Comandos(4).Respuesta = "200"
  30. Comandos(4).Comando = "STOR " + ArchivoRemoto
  31. Comandos(5).Respuesta = ""
  32. Comandos(5).Comando = ""
  33. TamañoBuffer = 2920
  34.  
  35. Dim Nr1 As Integer
  36. Dim Nr2 As Integer
  37. Dim IPLocal As String
  38.  
  39. IPLocal = Winsock1.LocalIP
  40.  
  41. Do Until InStr(IPLocal, ".") = 0
  42.    IPLocal = Left(IPLocal, InStr(IPLocal, ".") - 1) + "," + Right(IPLocal, Len(IPLocal) - InStr(IPLocal, "."))
  43. Loop
  44.  
  45. Randomize Timer
  46.  
  47. Nr1 = Int(Rnd * 12) + 5
  48. Nr2 = Int(Rnd * 254) + 1
  49. Comandos(3).Comando = "PORT " + IPLocal + "," + Trim(Str(Nr1)) + "," + Trim(Str(Nr2))
  50. Winsock2.Close
  51.  
  52. Do Until Winsock2.State = 0
  53.    DoEvents
  54. Loop
  55.  
  56. Winsock2.LocalPort = (Nr1 * 256) + Nr2
  57. Winsock2.Listen
  58. Winsock1.Close
  59.  
  60. Do Until Winsock1.State = 0
  61.    DoEvents
  62. Loop
  63.  
  64. Winsock1.RemoteHost = Sitio
  65. Winsock1.RemotePort = 21
  66. Winsock1.Connect
  67. Estado = 0
  68.  
  69. Do Until Winsock1.State = 7 Or Winsock1.State = 9
  70.    DoEvents
  71. Loop
  72.  
  73. Select Case Winsock1.State
  74.    Case 9
  75.    MsgBox "No se pudo Conectar al Servidor " + Sitio + ".", vbOKOnly + vbInformation
  76.    Case 7
  77.    Open ArchivoLocal For Binary As #1
  78. End Select
  79.  
  80. End Sub
  81.  
  82.  
  83. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  84.  
  85. Dim tmpS As String
  86. Winsock1.GetData tmpS, , bytesTotal
  87. Debug.Print tmpS;
  88.  
  89. Select Case Left(tmpS, 3)
  90.    Case Comandos(Estado).Respuesta
  91.        Winsock1.SendData Comandos(Estado).Comando + Chr(13) + Chr(10)
  92.        Debug.Print Comandos(Estado).Comando
  93.        Estado = Estado + 1
  94.    Case "150"
  95.        Do Until Winsock2.State = 7
  96.            DoEvents
  97.        Loop
  98.        Call EnviarDatos
  99.    Case "226"
  100.        Winsock1.Close
  101.        Do Until Winsock1.State = 0
  102.            DoEvents
  103.        Loop
  104.        MsgBox "Subida de Archivo Completa....", vbOKOnly + vbInformation
  105.    Case Else
  106.        MsgBox "No Hay Respuesta del Servidor: " + Left(tmpS, Len(tmpS) - 2), vbOKOnly + vbInformation
  107. End Select
  108.  
  109. End Sub
  110.  
  111. Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
  112. Winsock2.Close
  113. Do Until Winsock2.State = 0
  114.    DoEvents
  115. Loop
  116. Winsock2.Accept requestID
  117. Do Until Winsock2.State = 7
  118.    DoEvents
  119. Loop
  120. End Sub
  121.  
  122. Sub EnviarDatos()
  123. Dim Take As Long
  124. Dim Buffer As String
  125. If LOF(1) - Seek(1) < TamañoBuffer Then Take = LOF(1) - Seek(1) + 1 Else Take = TamañoBuffer
  126. Buffer = Input(Take, 1)
  127. Winsock2.SendData Buffer
  128.  
  129. If Take < TamañoBuffer Then
  130.    Close #1
  131.    EstaCerrado = True
  132. End If
  133. End Sub
  134.  
  135.  
  136. Private Sub Winsock2_SendComplete()
  137. If EstaCerrado = True Then
  138.    Winsock2.Close
  139. Do Until Winsock2.State = 0
  140.    DoEvents
  141. Loop
  142.    EstaCerrado = False
  143. Else
  144.    EnviarDatos
  145. End If
  146. End Sub
  147.  

necesitas 2 winsock y un boton...

saludos.


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 20 Octubre 2008, 17:03 pm
Seba, de nuevo gracias por responder, mira e probado eso, e puesto todos los datos y todo, pero el problema es que ejecuto el programa, le doy al boton y ai se queda, no dice si ubo error, ni nada parecido, por lo que no se que podria ser, el firewall le da acceso a todo y los demas programas igual, asi que no se...


Título: Re: Subir txt por ftp
Publicado por: carolmuriel en 20 Octubre 2008, 17:13 pm
intenta satearlo a modo pasivo, la   conexion debe ser en modo pasivo, de lo contrario no funciona. como lo haces pues internet transfer control


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 20 Octubre 2008, 17:15 pm
intenta satearlo a modo pasivo, la   conexion debe ser en modo pasivo, de lo contrario no funciona. como lo haces pues internet transfer control
No e entendido muy bien eso, ¿como lo podria hacer?


Título: Re: Subir txt por ftp
Publicado por: vivachapas en 20 Octubre 2008, 17:48 pm
yo tb lei algo de q tenia q ser en pasivo... pero no se como se hace eso con el Inet?


Título: Re: Subir txt por ftp
Publicado por: ssccaann43 © en 20 Octubre 2008, 20:06 pm
Como me encanta entrar en un post y ver el avatar de vivachapas. Deox... Men de donde sera esa chica...  :xD


Título: Re: Subir txt por ftp
Publicado por: vivachapas en 21 Octubre 2008, 02:50 am
jaja xD alto avatar eh!
es de una chica de arg, corrientes... la filmaron (eso es solo una parte) el resto lo han eliminado de internet...
el asunto es q se saco fotos (eroticas) con la ropa del colegio, la escuela se entero se armo el escandalo... rastrearon los videos q andaban dando vuelta y los hicieron desaparecer... echaron a varios chicos q participaron de eso en la escula (aunque el hecho no sucedio ahi).. y a la chica la sansionaron pero no fue echada...

y bue... yo tb me enamore XDj jaja

en fin nadie sabe como hacer la conexion en pasivo.. o si a lo mejor el problema es del servidor FTP decirme uno con el q les haya funcionado.. :P

SALUDOS


Título: Re: Subir txt por ftp
Publicado por: carolmuriel en 21 Octubre 2008, 03:03 am
spam??? bueno entrando al tema

cada socket tiene una canal de salida y otro de entrada, es decir, por donde se mandan los datos y por donde se reciben. Y además se puede especificar si va a ser una conexión activa o pasiva, y aquí es donde aparece lo de los famosos puertos abiertos. una conexión pasiva es la de cualquier servicio de internet, como puede ser un servidor web que escucha peticiones por el puerto 80 (generalmente), el puerto en sí no es relevante cualquier puerto permite cualquier tipo de tráfico y esa es mi explicacion

aqui en esta web hay mucha info sobre eso y lo digo por que antes de escribir una burrada estuve navegando por el foro hazlo tu igual para q veas


Título: Re: Subir txt por ftp
Publicado por: cobein en 21 Octubre 2008, 03:12 am
Que raro vos por aca???


Título: Re: Subir txt por ftp
Publicado por: carolmuriel en 21 Octubre 2008, 03:13 am
Que raro vos por aca???

que me estas corriendo si quieres me voy antes


Título: Re: Subir txt por ftp
Publicado por: cobein en 21 Octubre 2008, 03:16 am
No por favor =)


Título: Re: Subir txt por ftp
Publicado por: carolmuriel en 21 Octubre 2008, 03:27 am
No por favor =)

aqui te toca cuidarme q si me pasa algo por tu culpa sera xd xd un gusto verte


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 21 Octubre 2008, 08:02 am
Pero como se aria eso?


Título: Re: Subir txt por ftp
Publicado por: ssccaann43 © en 21 Octubre 2008, 15:13 pm
No por favor =)

aqui te toca cuidarme q si me pasa algo por tu culpa sera xd xd un gusto verte

Jaja che cobein, te toca cuidar a la chica... Hermano andas perdido... Un saludo


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 21 Octubre 2008, 15:17 pm
Alguien responde?


Título: Re: Subir txt por ftp
Publicado por: carolmuriel en 21 Octubre 2008, 15:19 pm
Pero como se aria eso?
chamin tu conexión sera pasiva siempre y cuando no le hallas cambiado en los socket, vale cualkier conexión es pasiva, hermano lea un pokito el foro dele en buscar en el home y escriba internet tranfer protocol hay mucha info


Título: Re: Subir txt por ftp
Publicado por: ssccaann43 © en 21 Octubre 2008, 15:21 pm
Alguien responde?

Hermano, ya te dimos muchas opciones e ideas... No haremos tu tarea...

Te dire dos cositas: USA GOOGLE


Título: Re: Subir txt por ftp
Publicado por: cobein en 21 Octubre 2008, 15:22 pm
Por que no bajas el codigo que te dije y  lo usas, no te custa nada y te ahorrarias varios problemas.


Título: Re: Subir txt por ftp
Publicado por: ssccaann43 © en 21 Octubre 2008, 15:24 pm
Aquí tenes ejemplos con Inet: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/315-listar-archivos-con-inet.htm

A ver si aprendes a usar un buscador  :¬¬


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 21 Octubre 2008, 21:53 pm
Alguien responde?

Hermano, ya te dimos muchas opciones e ideas... No haremos tu tarea...

Te dire dos cositas: USA GOOGLE
No pido que lo hagais, e USADO GOOGLE, y nada, los metodos que e encontrado no me van... no soy un lammer si eso es lo que piensas...


Título: Re: Subir txt por ftp
Publicado por: vivachapas en 22 Octubre 2008, 21:27 pm
si es cierto xD yo tb ya probe banda de ejemplos y busque en google.. pero el problema sigue estando :S... estuve pensando q tal vez sea el servidor FTP, yo estoy usando GeoCities, no se si alguien pudo hacerlo con este...

SALUDOS


Título: Re: Subir txt por ftp
Publicado por: eldiabloxico en 22 Octubre 2008, 23:34 pm
No creo que sea por eso, ya que yo uso el de lycos, y no creo que 2 servidores distintos fallen, sera otra cosa.