Configuração do cliente de FTP baseada em texto por detrás de um 'proxy'
Preciso de criar um programa bash que se ligue a um servidor FTP, envie um ficheiro e feche a ligação. Normalmente, esta seria uma tarefa fácil, mas eu preciso especificar algumas configurações de proxy específicas que está tornando difícil.
Posso ligar-me à coima de FTP usando um cliente de interface gráfica, ou seja, o Filezilla com as seguintes configurações:
Proxy Settings
--------------
FTP Proxy : USER@HOST
Proxy Host: proxy.domain.com
Proxy User: blank
Proxy Pass: blank
FTP Settings
------------
Host : 200.200.200.200
Port : 21
User : foo
Pass : bar
o que não consigo fazer é replicar estas configurações dentro de um cliente ftp baseado em texto, ou seja, ftp, lftp etc. Alguém pode ajudar a configurar este guião?
Obrigado antecipadamente!1 answers
De acordo com os documentos de , lftp
deve suportar a variável de ambiente ftp_proxy
, por exemplo
ftp_proxy=ftp://proxy.domain.com lftp -c "cd /upload; put file" ftp://200.200.200.200
Se isso funcionar, podes colocar
export ftp_proxy=ftp://proxy.domain.com
Nos seus ficheiros de configuração da shell, ou
set ftp:proxy=ftp://proxy.domain.com
Na tua ~/.iftprc.
Em alternativa, tente executar os comandos que o seu cliente FTP GUI está a executar, por exemplo
upload.lftp
USER ...@...
PASS ...
PUT ...
E executá-lo usando -s
:
lftp -s upload.lftp 200.200.200.200
Ou tentar curl -T
(docs) ncftpput
(docs ).
Algo como:
FTP_PROXY=ftp://proxy.domain.com curl -T uploadfile -u foo:bar ftp://200.200.200.200/myfile
Pode resultar.