Batch w / ftp transfer

1

Eu tentei obter um arquivo do meu servidor ftp com um arquivo em lote. Aqui está o que acontece:

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

Então isso simplesmente pára. Aqui está o código no meu arquivo de lote:

@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%"

Ele se conecta ao servidor, mas não faz o download do arquivo.

    
por WeaponGod243 03.04.2018 / 14:26

1 resposta

0

Como @ martin-prikryl sugere nos comentários, isso é quase certamente um problema de firewall do Windows.

Embora o Windows ftp possa se conectar a um host remoto sem permissão especial, para fazer download de arquivos, as transferências remotas de entrada precisam ser explicitamente permitidas pelo firewall do Windows.

Permitir transferências de entrada

Se não houver regras de firewall do Windows para o Windows ftp , quando você executá-lo com o comando recv , será solicitado que você adicione regras de entrada ao firewall do Windows automaticamente. A caixa marcada com Private networks [...] deve ser marcada por padrão. Pressione o botão Permitir acesso para adicionar as regras apropriadas ao seu firewall do Windows.

ex. Permitir downloads via ftp.exe do Windows

VocênãodeveprecisarmarcaracaixamarcadacomPublicnetworks[...],amenosquepretendausaroWindowsftpforadecasa.Vocêprecisaráserumadministradorparaajustarasregrasdefirewall.

Noteque,infelizmente,issonãopermitiráqueodownloadatualcontinue.Vocêprecisaráanularaoperaçãoatual(normalmentecomCtrl+C)etentarnovamente.

Nenhumpop-updefirewalléexibido

Seatransferênciaforsuspensaenenhumapop-upderegrasdefirewallforexibida,issoprovavelmentesignificaquejáexistemregrasnofirewalldoWindowsparaoWindowsftp(elassãoadicionadasmesmosevocêpressionarCancelarnacaixadediálogoacima).Alémdisso,éprovávelqueessasregrasestejamdefinidasparabloquearquaisquerconexõesdeentrada(indicadasporíconescircularescombarrasatravésdelas).

ex.Ftp.exedoWindowsbloqueadopelofirewalldoWindows

Paraalterarisso:

  1. AbraPaineldecontrole\SistemaeSegurança\FirewalldoWindowsecliquenolinkmarcadoConfiguraçõesavançadasnoladoesquerdo.

  2. NacaixadediálogoFirewalldoWindowscomsegurançaavançada(mostradaacima),cliquenolinkRegrasdeentradaàesquerdaeaguardeatéqueopainelprincipalsejapreenchido.ProcureasduasregrasmarcadasFileTransferProgram.VocêpodeclicarnotítulodacategoriaNomeparaclassificaritensemordemalfabética,conformenecessário.

  3. Paracadaregra,cliquecomobotãodireitodomouseeselecionePropriedades.NaguiaGeral,altereaAçãodeBlocktheconnectionparaAllowtheconnection.PressioneOKnaparteinferiordacaixadediálogoquandoterminar.

    ex.AtualizandoasregrasdefirewalldoWindowsparaoWindowsftp.exe

  4. Sefeitocorretamente,osíconescirles-with-slashesdevemsersubstituídospormarcasdeseleçãoverdes.

    ex.RegrasdefirewalldoWindowsparaoWindowsftp.exe-marcasdeverificaçãoverdes

Criando suas próprias regras

Se você quiser adicionar manualmente (criar) essas regras manualmente, prossiga pelas Etapas 1 e 2, exceto clique em Nova regra ... no lado direito após selecionando Regras de Entrada.

Crie uma regra para conexões TCP e uma regra para conexões UDP (as opções de protocolo estão listadas na guia Protocols and Ports ). Certifique-se de que Todas as Portas são permitidas. Ajustar as propriedades do separador (normalmente definido como Qualquer endereço IP ) e Avançado separador Perfis (usualmente apenas Private ) conforme necessário.

Por último, sob a guia Programs and Services , coloque, por exemplo, C:\windows\system32\ftp.exe como o caminho do programa (em caso de dúvida, você pode usar where ftp em um prompt de comando para exibir o caminho correto).

por 16.04.2018 / 02:51