0

我有一个在 Heroku 上运行的应用程序,我需要从 FTP 下载文件。但我需要使用固定 IP 来完成。我正在使用www.quotaguard.com来获得固定 IP。

但我无法让它工作。

有没有人有一个 Ruby 示例通过代理服务器(quotaguard)从 FTP 下载文件。

代理服务器和 FTP 都需要用户名和密码。

我已经尝试了一切,使用 Ruby。并且还从系统调用 wget 来启动下载,但 wget 显然不通过代理。还检查了很多帖子,但到目前为止没有成功。

我正在使用 Ruby 2.4.5

感谢您的任何评论。

4

2 回答 2

1

谢谢配额卫士。Socksify 没有维护而且很旧,我们试了一下,但不想花太多时间在上面。

实际上,我们设法通过 curl 实现了这一点。你也可以在 Heroku 中调用它。

如果有人想知道,这是命令。

curl -x socks5h://socksproxyurl 'ftp://theftp/some.pdf' --user "ftp_user:ftp_pass" -o some.pdf
于 2022-02-18T15:28:51.677 回答
0

我们之前已经看到一些客户使用socksify gem 这样做。

require 'socksify'

proxy = URI(ENV['QUOTAGUARDSTATIC_URL'])

TCPSocket::socks_username = proxy.user
TCPSocket::socks_password = proxy.password
Socksify::proxy(proxy.hostname, 1080) do |soc|
  # do your FTP stuff in here
end

如果还是不行,请发布您看到的错误,我们将帮助您运行此程序。

于 2022-02-17T17:20:37.590 回答