Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Xpeed en 12 Julio 2005, 00:33 am



Título: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 12 Julio 2005, 00:33 am
bien... pues he notado que hay grandes mentes programadoras en este foro asi que posteo una duda que tengo respecto a un programita o mas bien una aplicacion que estoy tratando de realizar...pues en si la aplicacion es muy simple.. solamente es que al ejecutarse cree un arxivo y lo suba a un ftp cada cierto tiempo, en si es muy simple...el problema viene al moemnto de que suba el arxivo al ftp, pues noto que el programa en momento de ejecucion se conecta al ftp pero, no sube el arxivo, aki pongo el codigo haber en que me pueden ayudar vale...

Código:
Dim ti
------------------------------------------------------------------------------------
Private Sub Form_Load()
 On Error GoTo error
   Form1.Visible = false
   ti = 0
   Timer1.Interval = 100
 error:
End Sub
-------------------------------------------------------------------------------------
Private Sub Command1_Click()
 On Error GoTo error
    ti = ti + 1
    Label1.Caption = ti
    If ti = 10 Then
      Open "arxivo_a_subir" For Output As #1
        Print #1, "este arxivo tiene que subir"
        Close #1
     Inet1.Execute "ftp://ususari_ftp:clave_ftp@mi_ftp", "PUT arxivo_a_subir.txt" & Winsock1.LocalHostName & ".txt"
     End If
 error:
End Sub
-------------------------------------------------------------------------------------
Private Sub Timer1_Timer()
 On Error GoTo error
   Call Command1_Click
 error:
End Sub

pues es ese.... tengo otra duda,,,, por ejemplo quiero crear una aplicacion que me permita al ejecutarla, crear un arxivo en el cual vaya, toda la informacion que proporcionaria el comando "ipconfig /all" ?¿ .... no seria algo como

Código:
Private Sub Form_Load()
Shell ("c:\windows\ipconfig /all >c:\arxivo.txt")

osea en si mi pregunta es: que debo hacer para crear una aplicacion que me permita decirle que comandos ejecutar en el command.com?¿

gracias.


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: byebye en 12 Julio 2005, 02:08 am
Citar
osea en si mi pregunta es: que debo hacer para crear una aplicacion que me permita decirle que comandos ejecutar en el command.com?¿

usar pipes por ejemplo.


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 12 Julio 2005, 07:56 am
como va lo de pipes¿?

en lo del ftp, creo muy seriamente que el error esta en

Código:
Inet1.Execute "ftp://ususari_ftp:clave_ftp@mi_ftp", "PUT arxivo_a_subir.txt" & Winsock1.LocalHostName & ".txt"

esta linea la sake de un manual en el cual instruia que de esta manera se lograria subir el arxivo....pues mi duda esta en lo de "PUT arxivo_a_subir.txt"  ... ya que ese put veo que no deberia estar alli ....asi que si pueden ayudarme a salir de ahi se los agradeceria

un saludo  :-\


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 12 Julio 2005, 20:59 pm
con esto seria suficiente... este pedazo de code lo usé en un programita mio que "troyanicé" x decirlo de alguna manera.. y anda joya


Inet1.URL = "ftp://ftp.tuftp.com.ar"
Inet1.UserName = "tuusuario"
Inet1.Password = "tupass"

' Inet1.Execute , "PUT " & "c:\windows\system32\" & nomArchivo & ".txt"

es muy simple... no podes tener problemas... igual lo adapte para que haga solo lo que vos queres...

Saludos


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 12 Julio 2005, 23:25 pm
pues sigue sin subirlo :-\ .... el programa se conecta al ftp, puesto que mientras esta corriendo  no puedo conectarme desde otra aplicacion al mismo,,,,, pero no sube el arxivo.... gracias de todas maneras Manibal_man

un saludo


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 13 Julio 2005, 01:33 am
es raro... tiene que andar...

espera... a ver... postea aca la linea que estas usando para subir el file (tal cual esta en tu code)

saludos


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 13 Julio 2005, 03:47 am
ahi esta todo el codigo,, repito, el programa se conecta, puesto que no me permite conectarme con otra aplicacion al mismo servidor ftp, pero no sube el arxivo :-\

Código:
Dim ti
--------------------------------------------------------------------------
Private Sub Form_Load()
On Error GoTo error
Form1.Visible = True
ti = 0
Timer1.Interval = 100
error:
End Sub
--------------------------------------------------------------------------
Private Sub Command1_Click()
On Error GoTo error
ti = ti + 1
Label1.Caption = ti
If ti = 10 Then
Open "prueba.txt" For Output As #1
Print #1, "ip del host . . . . . :", Winsock1.LocalIP
Print #1, "host. . . . . . . . . :", Winsock1.LocalHostName
Print #1, "plataforma. . . . . . :", SysInfo1.OSPlatform
Print #1, "fecha . . . . . . . . :", Date
Print #1, "hora. . . . . . . . . :", Time
Close #1
Inet1.URL = "ftp://MiFtp.es"
Inet1.UserName = "ElUsuario"
Inet1.Password = "ElPass"
Inet1.Execute , "PUT" & "c:\windows\system32" & "prueba.txt" & ".txt"
End If
error:
End Sub
--------------------------------------------------------------------------
Private Sub Timer1_Timer()
On Error GoTo error
Call Command1_Click
error:
End Sub

un saludo


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 13 Julio 2005, 04:25 am
jejeje, es lo que me imaginaba nomas...

bueno, cuando yo te postee ese codigo... era solo para que lo tomes como ejemplo, no para que lo pongas tal cual.
Por otro lado, como recomendacion te diria que cuando preguntes algo y te lo contesten, uses eso para investigar como es que funciona y para que es cada parametro, para saber realmente lo que haces y no solo copy & pastear.

entendes que estas haciendo cuando escribis esta linea?
Código:
Inet1.Execute , "PUT" & "c:\windows\system32" & "prueba.txt" & ".txt"

Es como si te conectaras al servidor FTP con el cliente FTP del terminal de windows y pusieras
Código:
put c:\windows\system32\prueba.txt.txt

El cliente lo que va a hacer es buscar el archivo prueba.txt.txt en c:\windows\system32\ y lo va a subir al directorio en el que estes en el server.

y en realidad no hay espacio entre "put" y la ubicacion del file, asi que en realidad le estas mandando una mezcla de caracteres que nunca va a entender

Ahora, vayamos x partes

1. es realmente prueba.txt.txt el archivo que queres subir?
2. esta en windos\system32\ ?

creo que con esto es suficiente para que lo resuelvas, y no estoy de acuerdo con estas lineas estaticas pero por si no lo es:
Código:
Inet1.Execute , "PUT c:\autoexec.bat"

entendes como funciona? uno en gral lo separa para hacer el codigo mas versatil, x ej si pongo

Código:
Inet1.Execute , "PUT " & Source & " " & File & ".bat"

tendria antes que definir la variable Source, asignandole por ej c:\, y la variable File autoexec (sin el .bat xq se lo estas agregando en la linea)

Bueno, espero que te sirva todo esto, en gral no estoy de acuerdo con este tipo de explicaciones, soy mas partidario de tirar un par de lineas y decir: investigá (y en gral pruebo yo de antemano en google un par de strings a ver si aparece algo) pero hoy tenia ganas de escribir, y quizas a alguien le venga bien

Saludos.


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 13 Julio 2005, 17:41 pm
Manibal_man ... mmm...pues creeme que en realidad he buscado informacion al respecto en diversas fuentes... y pues aunk tampoco estoy deacuerdo con explicaciones tan explicitas, ya que se fomenta "el kerer que todo te hagan",yo mismo he tratado de resolverlo por mi mismo pero se me ha ido de las manos  :-\,  te lo agradezco men, pues he podido resolver el problema... gracias por tomarte el tiempo para responder.

aunke al final lo he hexo simplemente asi..

edito:
Código:
 
inet1.execute , "put c:\prueba.txt /prueba" & winsock1.localhostname & ".txt"     'para que sea diferente al ejecutarlo de diferente makina

pero sinduda la explicacion a la linea que pusiste arriba fue la que me aclaro la duda  ;)
un saludo.


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 13 Julio 2005, 19:14 pm
Jajaj, todo bien, igual se notó que necesitabas que el file tenga un nombre distinto x maquina, por eso te puse el ejemplo con las variables.

Asi que buenisimo, me alegro que te haya servido.

calquier otra cosa avisa

Saludos


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 14 Julio 2005, 20:39 pm
Yo tengo tb un problema con el Inet, lei un manula que explicaba este control  pero cuando intento conectar al ftp me dice que no se pudo conectar al host.
El Host esta bien escrito, ya que con esa url accedo manualmente
El usuario y password estan puesto en sus correspondientes propiedades del control Inet

Sabeis porque puede ser?


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 14 Julio 2005, 20:53 pm
pues debes recdordar que desde una ip normal solo se puede tener una conexión a cliente ftp... asi que cuando se ejecute no debe haber mas programas conectados como el administrador del ftp....


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 14 Julio 2005, 21:21 pm
no, si cuando lo he probado, nunca tenia el ftp abierto...
puede ser porque el ftp que tengo es de mi@ y da servicios de calidad regular por no decir mala
el error k me da es el 35754


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 14 Julio 2005, 21:38 pm
pues prueba con otro servidor ftp aver que tal va


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 14 Julio 2005, 23:56 pm
postea el fragmento de codigo xq probablemente debes estar poniendo mal algo

Saludos


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 15 Julio 2005, 00:20 am
Ay va!

Código:
    Es = GetSystemDirectory(Car, Longitud)
    Camino = RTrim$(LCase$(Left$(Car, Es)))
    system32 = Camino
    system32 = system32 & "\CMDLG.dll"
    Inet1.UserName = "uss"
    Inet1.Password = "pas"
Inet1.Execute "ftp://ftp.webcindario.com", "Put system32 /Alwar/CMDLG.dll"


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 15 Julio 2005, 01:19 am
bueno hay varias cosas para ver... aca lo que estas haciendo es subir el archivo
Código:
system32.
asi nomas sin extension

a el server FTP en la carpeta /alwar con el nombre "CMDLG.dll2"

si esto es lo que queres hacer, y realmente existe todo deberia andar joya, ahora si el archivo que queres subir es el .dll o cualquier cosa distinta estas meando afuera del tarro todo mal.

explica bien que queres hacer y veo que onda.

Saludos


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 15 Julio 2005, 11:36 am
si el problema es que no se conecta al ftp


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 15 Julio 2005, 13:56 pm
ok, igual ahora estaba viendo de nuevo tu code, y recien me doy cuenta que intentaste definir system32 como variable para asignarle primero el nombre de la "ruta" y despues agregarle el nombre del file...

x una cuestion de prolijidad te diria que lo hagas con 2 variables
y el codigo deberia ser algo asi:

Código:
Inet1.Execute "ftp://ftp.webcindario.com", "Put " & system32 & Archivo & "/Alwar/CMDLG.dll"

Donde Archivo seria la variable que contenga el nombre de archivo, pero como vos estabas escribiendo el codigo VB toma system32 como string y no como variable.

Saludos


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 15 Julio 2005, 14:18 pm
y por eso puede ser el error?
Gracias de todas maneras!


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 15 Julio 2005, 19:59 pm
y pero obvio!, le estas diciendo que suba el file "system32." ese file existe? no, entonces no va a subir nada... tenes que poner EXACTAMENTE el file que queres que suba...


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 16 Julio 2005, 14:47 pm
Haber el "file" system32 si existe! Yo le declare anteriormente que systema32 = ruta de system32 en ese pc & "CMDLG.dll"
y Si existe, es una archivo de texto que tiene extension dll para camuflarlo...


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 16 Julio 2005, 16:20 pm
ufffffffffffffff, el file system32. no existe, lo que existe es una ruta y un archifo DEFINIDOS en la varable system32, por lo tanto para que lo tome como variable y no como string tenes que poner asi

Código:
Inet1.Execute "ftp://ftp.webcindario.com", "Put " & system32 & "/Alwar/CMDLG.dll"

ok??, es muy facil!!!

si vos pones:

Código:
Inet1.Execute "ftp://ftp.webcindario.com", "Put system32 /Alwar/CMDLG.dll"

le estas diciendo que suba el archivo system32. y vos queres que suba el archivo que esta definido en la VARIABLE system32

bueno, con esto tenes que entenderlo si o si

Saludos



Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 16 Julio 2005, 16:25 pm
sorry ya te entendi


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: rodimus en 2 Agosto 2005, 22:53 pm
soy nuevo en esto del vb pero si he entendio algo pero acerca del ejemplo anterior de subir un archivo prueba.txt a un ftp no me sube nada ni sikierame conecta.......el kodigo k uso es este
Código:
Dim ti
--------------------------------------------------------------------------
Private Sub Form_Load()
On Error GoTo error
Form1.Visible = True
ti = 0
Timer1.Interval = 100
error:
End Sub
--------------------------------------------------------------------------
Private Sub Command1_Click()
On Error GoTo error
ti = ti + 1
Label1.Caption = ti
If ti = 10 Then
Open "prueba.txt" For Output As #1
Print #1, "ip del host . . . . . :", Winsock1.LocalIP
Print #1, "host. . . . . . . . . :", Winsock1.LocalHostName
Print #1, "plataforma. . . . . . :", SysInfo1.OSPlatform
Print #1, "fecha . . . . . . . . :", Date
Print #1, "hora. . . . . . . . . :", Time
Close #1
Inet1.URL = "ftp://MiFtp.es"
Inet1.UserName = "ElUsuario"
Inet1.Password = "ElPass"
inet1.execute , "put c:\prueba.txt /prueba" & winsock1.localhostname & ".txt"     'para que sea diferente al ejecutarlo de diferente makina
End If
error:
End Sub
--------------------------------------------------------------------------
Private Sub Timer1_Timer()
On Error GoTo error
Call Command1_Click
error:
End Sub

ahme olvidava ahi pongo un boton de command , un control timer y un label nada mas verdad o me falta alguno ?????
Haber si me dan una manito graxias


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 2 Agosto 2005, 23:03 pm
pero que error te da?¿ ....osea si te conecta al ftp?¿ ... o te sale que no puede subir el arxivo?¿ ....que direccion ftp estas utilizando?¿

edito:
Citar
ahme olvidava ahi pongo un boton de command , un control timer y un label nada mas verdad o me falta alguno Huh??
Haber si me dan una manito graxias


obviamente tienes que ponerle ademas de estos el respectivo control winsock, inet, y sysinfo

un saludo.


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Manibal_man en 2 Agosto 2005, 23:09 pm
jajaj speed, no importa que error le da...


Rodimus, creo que tendrias que leer muchisimo mas de visual... aunque sea lo minimo para entender loq ue pones en el fuente...

por ej... al poner winsock1.localip, sabes que es winsock? bueno... necesitas el control..

cuando pones Inet1.UserName, sabes que es Inet1? si!!1, adivinaste!!!, otro control!!!!

en sintesis... te recomiendo que empieces x algo mas basico que generes vos solo y que de a poco leas comandos y controles nuevos y una vez que los sepas manejar los pongas en practica


Saludos


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 2 Agosto 2005, 23:44 pm
nose manibal_man a mi tampoco me funciona mi ejemplo he ice lo que tu me djijiste, pero el error que me da es de que no puede conectar al host


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 3 Agosto 2005, 00:02 am
intenta ponerlo asi


Código:
Inet1.URL = "ftp://elFtp.es"
Inet1.UserName = "ElUsuario"
Inet1.Password = "ElPass"

y utilizas el inet1.execute, sin direccion...solo con la istruccion a hacer......tambien prueba .. no meter el path de la aplicacion a subir en una variable....sino manejala como la direccion asi sabes si lo sube almenos ;)


un saludo


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 3 Agosto 2005, 00:15 am
si el error es que no conecta, no llega a subir, ya probe con lo de inet1.url y tampoco


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 3 Agosto 2005, 00:50 am
seguro que el pass y el nombre de usuario son los correctos ....te recomiendo que los pruebes con el cliente ftp de ms-DOS asi sales de la duda y nunca esta de mas ..... si no la otra posible solucion es esta ..... en todo caso dependerias del el cmd.exe y de un arxivo de texto......


Código:
Shell "cmd.exe /c ftp.exe -s:archivo_con_ordenes.txt ftp.servidor.com", vbHide

donde el archivo_con_ordenes.txt tendria las instruciones de:

Código:
mi_user
mi_pass
put mi_archivo_local.txt archivo_remoto.txt
quit

asi, si los datos son los corectos debe subirlo, de lo contrario es un problema fuera de tu aplicacion,....


un saludo.


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 3 Agosto 2005, 20:28 pm
Gracias, lo probare haber que tal


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: rodimus en 4 Agosto 2005, 23:14 pm
Bueno ya entendi lo que me kiso decir manibal_man Pero quiero aprender y kisiera k  me ayuden por ultima vez-------------alwar podrias postear el kodigo final que a ti te funciono ????? no es para copy y paste si no para estudiarlo graciass


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: {_The_Alwar_} en 4 Agosto 2005, 23:30 pm
lo siento pero no me funciono ninguno, de todas formas te lo pongo

Código:
   Es = GetSystemDirectory(Car, Longitud)
    Camino = RTrim$(LCase$(Left$(Car, Es)))
    system32 = Camino
    system32 = system32 & "\CMDLG.dll"
    Inet1.URL = "ftp://ftp.buildtolearn.net"
    Inet1.UserName = "myuser"
    Inet1.Password = "mypass"
Inet1.Execute "ftp://ftp.buildtolearn.net", "Put" & system32 & " /Alwar/CMDLG.dll"


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: Xpeed en 4 Agosto 2005, 23:44 pm
alwar , primero, si ya pusiste inet.url, en la linea de execute no habria necesidad de poner ninguna direccion pues probablemente marke algun tipo de error solo inet.execute, instrucciones ...... segundo......en las instrucciones estaas cometiendo un eerror ya que pusiste "put" y debe ser "put " notese el espacio despues de put.....y tercero todo esto deberia correr normalmente n caso de que la direccion puesta en la variable haya sido tomada correctamente.....


un saludo.


Título: Re: Aplicacion en VB 6.0 ... subir a FTP :s
Publicado por: rodimus en 6 Agosto 2005, 21:21 pm
Hola de nuevo la verdad es k he tratado de hacer lo k dicen pero no me ha funcionado ........speed no c ti tu podrias postear tu codigo final y el cual funciono .....no quiero para copy y paste lo quiero estudiar y ver mis errores recien comienzo en esto por eso necesito ayuda .....gracias desde ya salu2