Lote con transferencia ftp

Lote con transferencia ftp

Intenté sacar un archivo de mi servidor ftp con un archivo por lotes. Esto es lo que sucede:

ftp> open files.000webhost.com 21
Connected to us-east-1.route-1000.000webhost.awex.io.
220 ProFTPD Server (000webhost.com) [::ffff:145.14.145.124]
500 OPTS UTF8 not understood
User (us-east-1.route-1000.000webhost.awex.io:(none)):
331 User ***** OK. Password required

230-Your bandwidth usage is restricted
230 OK. Current restricted directory is /
ftp> lcd C:\Users\micah\Desktop\MiniventureLauncher\Game
Local directory now C:\Users\micah\Desktop\MiniventureLauncher\Game.
ftp> cd public_html
250 OK. Current directory is /public_html
ftp> binary
200 TYPE is now 8-bit binary
ftp> recv miniventure.jar
200 PORT command successful
150-Connecting to port 50186
150 13336.1 kbytes to download

Luego simplemente se detiene. Aquí está el código en mi archivo por lotes:

@Echo Off
Set _FTPServerName=files.000webhost.com 21
Set _UserName=*****
Set _Password=*****
Set _LocalFolder=C:\Users\micah\Desktop\MiniventureLauncher\Game
Set _RemoteFolder=public_html
Set _Filename=miniventure.jar
Set _ScriptFile=transfer
:: Create script
 >"%_ScriptFile%" Echo open %_FTPServerName%
>>"%_ScriptFile%" Echo %_UserName%
>>"%_ScriptFile%" Echo %_Password%
>>"%_ScriptFile%" Echo lcd %_LocalFolder%
>>"%_ScriptFile%" Echo cd %_RemoteFolder%
>>"%_ScriptFile%" Echo binary
>>"%_ScriptFile%" Echo recv %_Filename%
>>"%_ScriptFile%" Echo quit
:: Run script
ftp -s:"%_ScriptFile%"
Del "%_ScriptFile%"

Se conecta al servidor, pero no descarga el archivo.

Respuesta1

Como sugiere @ martin-prikryl en los comentarios, es casi seguro que se trata de un problema del firewall de Windows.

Si bien Windows ftppuede conectarse a un host remoto sin un permiso especial, para descargar archivos, las transferencias remotas entrantes deben permitirse explícitamente a través del firewall de Windows.

Permitir transferencias entrantes

Si no hay reglas de firewall de Windows para Windows ftp, cuando lo ejecute con el recvcomando, se le solicitará que agregue reglas entrantes al firewall de Windows automáticamente. La casilla marcada Private networks [...]debe estar marcada de forma predeterminada. presione elPermitir el accesopara agregar las reglas apropiadas a su firewall de Windows.

ex. Permitir descargas a través de Windows ftp.exe

Agregar regla de firewall de Windows: captura de pantalla

No debería necesitar marcar la casilla marcada Public networks [...]a menos que tenga la intención de utilizar Windows ftpfuera de casa. Deberá ser administrador para ajustar las reglas del firewall.

Tenga en cuenta que, lamentablemente, esto no permitirá que continúe la descarga actual. Deberá cancelar la operación actual (normalmente con Ctrl+ C) e intentarlo de nuevo.

No se muestra ninguna ventana emergente de firewall

Si la transferencia se bloquea y no se muestra ninguna ventana emergente de reglas de firewall, lo más probable es que esto signifique que ya existen reglas en el firewall de Windows para Windows ftp(éstas se agregan incluso si presiona inicialmenteCancelaren el cuadro de diálogo de arriba). Además, es probable que estas reglas estén configuradas para bloquear cualquier conexión entrante (indicada por íconos circulares con barras diagonales).

ex. Windows ftp.exe bloqueado por el firewall de Windows

ftp.exe bloqueado por el firewall de Windows: captura de pantalla

Para cambiar esto:

  1. AbiertoPanel de control\Sistema y seguridad\Firewall de Windowsy haga clic en el enlace marcadoAjustes avanzadosen el lado izquierdo.

  2. En elFirewall de Windows con seguridad avanzadacuadro de diálogo (que se muestra arriba), haga clic en elReglas de entradaenlace a la izquierda y espere a que se complete el panel principal. Busque las dos reglas marcadasPrograma de transferencia de archivos. Puedes hacer click en elNombreencabezado de categoría para ordenar los elementos alfabéticamente, según sea necesario.

  3. Para cada regla, haga clic derecho y seleccionePropiedades. Bajo laGeneralpestaña, cambie elAccióndesde Block the connectionhasta Allow the connection. PrensaDE ACUERDOen la parte inferior del cuadro de diálogo cuando haya terminado.

    ex. Actualización de las reglas del firewall de Windows para Windows ftp.exe

    Desbloquear la regla de firewall ftp.exe de Windows: captura de pantalla

  4. Si se hace correctamente, los íconos de círculos con barras deben reemplazarse con marcas de verificación verdes.

    ex. Reglas de firewall de Windows para Windows ftp.exe: marcas de verificación verdes

    Marcas de verificación verdes de la regla del firewall ftp.exe de Windows: captura de pantalla


Creando tus propias reglas

En caso de que desee agregar (crear) manualmente estas reglas usted mismo, continúe con los pasos 1 y 2, excepto hacer clicNueva regla...en el lado derecho después de seleccionarReglas de entrada.

Cree una regla para las conexiones TCP y una regla para las conexiones UDP (las opciones de protocolo se enumeran enProtocolos y puertospestaña). Asegúrate de esoTodos los puertosestán permitidos. Ajustar elAlcancepropiedades de la pestaña (generalmente configuradas enCualquier dirección IP) y elAvanzadopestañaPerfiles(generalmente solo Private) según sea necesario.

Por último, bajo elProgramas y Serviciospestaña, escriba, por ejemplo, C:\windows\system32\ftp.execomo la ruta del programa (en caso de duda, puede utilizarlo where ftpdesde un símbolo del sistema para mostrar la ruta adecuada).


información relacionada