【问题标题】:Text based FTP client settings behind a proxy代理后基于文本的 FTP 客户端设置
【发布时间】:2011-03-17 02:12:52
【问题描述】:

我需要创建一个 bash 脚本,它将连接到 FTP 服务器、上传文件并关闭连接。通常这将是一项简单的任务,但我需要指定一些特定的代理设置,这使得它变得困难。

我可以使用 GUI 客户端(即具有以下设置的 Filezilla)连接到 FTP:

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

我似乎无法在基于文本的 ftp 客户端(即 ftp、lftp 等)中复制这些设置。谁能帮忙设置这个脚本?

提前致谢!

【问题讨论】:

    标签: linux proxy ftp fedora


    【解决方案1】:

    根据docslftp应该支持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 客户端正在运行的命令,例如

    上传.lftp

    USER ...@...
    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:啊,看起来它使用的是 FTP 代理,而不是 HTTP 代理。可以试试ftp_proxy=ftp://proxy.domain.com lftp...吗?
    • 太棒了!有用!我做了以下操作: $ export ftp_proxy=proxy.domain.com $ lftp user:pass@200.200.200.200 :) 谢谢!
    • @mikel,应该是set ftp:proxy ftp://proxy.domain.com,不过在 ftp:proxy 后面没有等号很好的技巧
    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    相关资源
    最近更新 更多