基于文本的FTP客户端设置代理
问题描述:
我需要创建一个bash脚本,它将连接到FTP服务器,上传文件并关闭连接。通常这将是一件容易的事,但我需要指定一些特定的代理设置,这使得它变得困难。基于文本的FTP客户端设置代理
我可以使用GUI客户端即FileZilla中使用以下设置连接到FTP罚款:
Proxy Settings
--------------
FTP Proxy : [email protected]
Proxy Host: proxy.domain.com
Proxy User: blank
Proxy Pass: blank
FTP Settings
------------
Host : 200.200.200.200
Port : 21
User : foo
Pass : bar
我似乎什么不能做是复制这些设置在基于文本的ftp客户端即ftp,lftp等任何人都可以帮助设置此脚本?
在此先感谢!
答
根据docs,lftp
应该支持ftp_proxy
环境变量,例如,
ftp_proxy=ftp://proxy.domain.com lftp -c "cd /upload; put file" ftp://200.200.200.200
如果这样的作品,你可以把
export ftp_proxy=ftp://proxy.domain.com
在你的shell配置文件
,或者
set ftp:proxy=ftp://proxy.domain.com
你的〜/ .lftprc。
或者,尝试运行您的GUI FTP客户端正在运行的命令,例如,
upload.lftp
USER [email protected]
PASS ...
PUT ...
而且使用-s
运行:
lftp -s upload.lftp 200.200.200.200
或者尝试curl -T
(docs)ncftpput
(docs)。
喜欢的东西:
FTP_PROXY=ftp://proxy.domain.com curl -T uploadfile -u foo:bar ftp://200.200.200.200/myfile
可能会奏效。
Mikel:试过两种方法没有任何运气,他们只是超时。我希望添加一些截图然后可以帮助? – schone 2011-03-17 02:35:10
@schone:啊,看起来它使用的是FTP代理,而不是HTTP代理。你可以尝试使用'ftp_proxy = ftp://proxy.domain.com lftp ...'? – Mikel 2011-03-17 03:07:29
Brillant!有用!我做了如下: $ export ftp_proxy = proxy.domain.com $ lftp user:[email protected] :)谢谢! – schone 2011-03-17 03:38:26