Página 1 de 2
Ayuda con FTPEx.au3
Publicado: 14 Mar 2010, 19:31
por barjola
Hola, estoi intentando hacer un programa con autoit que suba un txt a un servidor ftp, pero no consigo que funcione, este es el codigo que tengo:
Código: Seleccionar todo
#include "FTPEx.au3"
$server = 'ftp.usuarios.multimania.es'
$username = ''
$pass = ''
$Open = _FTP_Open('FTP')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
_FTP_FilePut($Conn, "nombres.txt", "prueba.txt")
_FTP_Close($Open)
Nose porque no funciona, ¿alguna idea?
Re: Ayuda con FTPEx.au3
Publicado: 14 Mar 2010, 20:04
por BasicOs
Ese es el código estandar, intenta probar con un programa externo como el filezilla a ver como va, y luego lo pruebas por ahí. Yo probaría otros comandos también como el de listar dir, a ver si falla la conexión o después de la conexión.
También si la función funciona devuelve un valor de correcto y cambian el valor de la variable @ERROR. Así puedes ir comprobando cada linea a ver en que momento falla.
Código: Seleccionar todo
#include <FTPEx.au3>
$server = 'ftp.csx.cam.ac.uk'
$username = ''
$pass = ''
$Open = _FTP_Open('MyFTP Control')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
; ...
$Ftpc = _FTP_Close($Open)
Salu2:)
Re: Ayuda con FTPEx.au3
Publicado: 14 Mar 2010, 21:12
por barjola
gracias por la ayuda, pero sigue sin irme, lo he probado con el filezilla y se conecta perfectamente, pero con el autoit no soy capaz de hacerlo funcionar.
PD: Probando con el @ERROR me da error en la linea del _FTP_Open y nose porque, porque los datos estan todos bien.
Re: Ayuda con FTPEx.au3
Publicado: 14 Mar 2010, 23:34
por BasicOs
Prueba con este programa del otro foro. Hay un Script for debugging FTP.
Que es un Script donde puedes chequear punto por punto cada paso del proceso del Ftp, y con variable separadas, así descubrir donde se para y por que. Y otra copia de la libreria FTP para que la uses si lo deseas.
http://www.autoitscript.com/forum/index ... t&p=780575
Salu2:)
Re: Ayuda con FTPEx.au3
Publicado: 15 Mar 2010, 01:35
por Chefito
Mmmmm....cuando intento acceder a ese ftp me pide usuario y contraseña, y no dejarlos en blanco como tu haces.
Seguro que no hay que enviar algún usuario o contraseña?
Saludos.
Re: Ayuda con FTPEx.au3
Publicado: 15 Mar 2010, 03:24
por BasicOs
barjola escribió:
PD: Probando con el @ERROR me da error en la linea del _FTP_Open y nose porque, porque los datos estan todos bien.
_FTP_OPEN es antes de que llegues a conectar, o sea antes de llegar a lanzar la conexión y comunicarte. es muy extraño.. intenta mirar los enlaces de los Debug del enlace de arriba...
Salu2:)
Re: Ayuda con FTPEx.au3
Publicado: 15 Mar 2010, 13:20
por Ximorro
Si es un servidor ftp que no requiere usuario-contraseña, a veces en vez de dejarlo en blanco lo que piden es que pongas como usuario "anonymous", y como contraseña lo normal es poner la dirección mail propia, aunque esto último no es obligatorio.
Re: Ayuda con FTPEx.au3
Publicado: 15 Mar 2010, 13:30
por Chefito
Ximorro escribió:Si es un servidor ftp que no requiere usuario-contraseña, a veces en vez de dejarlo en blanco lo que piden es que pongas como usuario "anonymous", y como contraseña lo normal es poner la dirección mail propia, aunque esto último no es obligatorio.
También hice eso y nada. Se me olvidó comentarlo
.
Re: Ayuda con FTPEx.au3
Publicado: 15 Mar 2010, 16:59
por barjola
voy a probar con el debug ahora aver que tal
me da este error en el log file:
Problemas de Upload:
(Erro ao Abrir o Servidor FTP)
(Erro ao Abrir o Servidor FTP)
(Erro ao Abrir o Servidor FTP)
Y he probado con 3 servidores ftp distintos, a alguno os funciona el ftp con algun server ftp???
Re: Ayuda con FTPEx.au3
Publicado: 15 Mar 2010, 18:40
por Chefito
Haber....normal que no te vaya en ningún ftp
.
Si pones esto así no te va a ir: _FTP_FilePut($Conn, "nombres.txt", "prueba.txt")
No le estás diciendo bien el lugar donde debe descargar el archivo (mejor dicho....simplemente no se lo dices
)
Supongo que sería así si lo quieres guardar en la unidad c :
Aaahhhh, y ten cuidado de donde se encuentra ubicado el archivo que quieres bajar en el servidor ftp. En tu caso el archivo se encuentra en el directorio raíz y se llama nombres.txt.
Un ejemplo que funcione??? Uno rápido
. Te baja un archivo de texto y el programa opera en ingles:
Código: Seleccionar todo
#include <FTPEx.au3>
$server = 'ftp.rediris.es'
$username = ''
$pass = ''
$Open = _FTP_Open('MyFTP')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
if @error=0 Then
_FTP_FileGet($conn,"welcome.msg",@ScriptDir &"\texto.txt")
_FTP_FileGet($conn,"mirror/opera/win/1050/en/Opera_1050_en_Setup.exe",@ScriptDir &"\operoIngles.exe")
Else
MsgBox(0,"Error","No se ha podido bajar el archivo")
EndIf
$Ftpc = _FTP_Close($Open)
Respecto al servidor ftp 'ftp.usuarios.multimania.es' te sigo diciendo que necesita un usuario y claaaaaveeeee. Que me lo pideeeee. Y no es anonymous y clave un correo o en blanco, o en blanco las dos. Algo has debido de poner tú y te lo ha dejado almacenado. Seguramente cuando te conectas te lo pone por defecto.
O quien sabe lo que has hecho.....pero como puedes ver las funciones funcionan a la perfección.
Saludos.
Re: Ayuda con FTPEx.au3
Publicado: 15 Mar 2010, 23:18
por barjola
he probado este ultimo script y me da error :S, yo creo que voy a tener mal el FTPEx.au3
alguno me lo puede pasar?
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 08:33
por Chefito
Puede que tengas una versión anterior a la actual de AutoIt. Bajate la última versión (v3.3.6.0) y no tendrás problemas. Bajatela de la página oficial:
http://www.autoitscript.com.
Aunque puede que el fallo esté aquí: #include <FTPEx.au3>. Puede que deba cambiar eso en mi script por esto #include "FTPEx.au3", ya que al tener una versión anterior no tendrás esta librería en la carpeta include de autoit. Supongo que la tengas en la misma carpeta que el script.
Si falla en otra cosa no tengo ni idea en que puede ser
.
Para evitarte estas molestias actualízate.
Saludos.
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 14:11
por barjola
me la acabo de descargar la ultima version, he puesto el script tuyo ultimo y sigue dandome error, y ya he probado en 2 ordenadores distintos.
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 15:34
por BasicOs
Bueno creo que te queda
probar con otro servidor con clave y user para ir descartando. Según el mensaje del debug es (Error al Abrir o Servidor FTP) que comentaste antes. También puedes hacer las pruebas con el
cmd con los comandos ftp del MSDOS, para ir descartando.
Ya queda menos por mirar, como siempre seguro que es una tontería o un despiste
.
También intenta usar los ejemplos del manual en inglés de la última versión que te has bajado,
Salu2:)
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 15:57
por barjola
he probado con el de rediris que ha puesto Chefito, con el de multimania y con el de hqdrive, y ni uno me ha funcionado :S
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 16:24
por Chefito
Los ordenadores donde lo has probado tienen la misma configuración? estan en la misma red conectados? Están capados? El router está capado? Que SO utilizas? Yo lo he probado con xp sp3, pero dudo que falle con otros SO.
Tienes que ir descartando cosas. Parece que es cosa de configuración.
Saludos.
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 16:46
por barjola
lo he probado en un Win7 en mi casa, y en un WinXP en el instituto.
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 23:24
por barjola
podeis pasarme un script ya compilado que os funcione a vosotros? aver si va a ser culpa del compilador :S
Re: Ayuda con FTPEx.au3
Publicado: 16 Mar 2010, 23:56
por BasicOs
No hace falta compilarlo, lo puedes ejecutar desde el Scite con F5-Run
Script
comprobado para bajarse un fichero del server en el raiz del server a la unidad d:
Código: Seleccionar todo
#include <FTPEx.au3>
;desbloquear firewall de windows o dar permiso si lo pide
$server = 'ftp.arsys.net'
$username = 'pepe'
$pass = 'miperritocontrasena'
$s_RemoteFile='/mificheroRemoto.pdf'
$s_LocalFile ='d:\mificheroLocal.pdf'
$Open = _FTP_Open('MyFTP Control')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
_FTP_FileGet($Conn, $s_RemoteFile, $s_LocalFile)
$Ftpc = _FTP_Close($Open)
Puedes ponerle una barrita de progreso para ver como baja y algunos checks que estaban en el programa de debug (si lo deseas) pero así funciona bien.
Más facil, si siempre usas el mismo server como un copy origen destino:
Una función BajaFicherodeMiServer(origenRemoto,DestinoLocal) con comprobador de que empieza a bajarse
Código: Seleccionar todo
#include <FTPEx.au3>
;desbloquear firewall de windows o dar permiso si lo pide
$s_RemoteFile='/mificheroRemoto.pdf'
$s_LocalFile ='d:\mificheroLocal.pdf'
BajarFicherodeMiserver($s_RemoteFile,$s_LocalFile) ;Copia un fichero remoto a fichero local
sleep(500)
if FileExists($s_LocalFile) then
MsgBox(0,"Exito", "Se está bajando el fichero "&$s_LocalFile)
else
MsgBox(0,"Error", "No se está bajando el fichero "&$s_LocalFile)
Endif
; fin del Script
Func BajarFicherodeMiserver($s_RemoteFile,$s_LocalFile)
$server = 'ftp.arsys.net'
$username = 'pepe'
$pass = 'miperritocontrasena'
$Open = _FTP_Open('MyFTP Control')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
_FTP_FileGet($Conn, $s_RemoteFile, $s_LocalFile)
$Ftpc = _FTP_Close($Open)
EndFunc
Salu2:)
Re: Ayuda con FTPEx.au3
Publicado: 17 Mar 2010, 00:07
por Chefito
El script que te he dejado arriba compilado:
http://www.mediafire.com/?tmnzzn0yyzj