问题标签 [net-ftp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - Perl Net::FTP 的 $@ 中缺少错误
在弄清楚(当然是通过 SO)错误$ftp = Net::FTP->new()
调用的错误在$@
而后续错误可以通过 获得之后$ftp->message()
,我遇到了一个小问题。
我的代码基本上是:
旁白:是的,我知道我可能可以在一个 FTP 会话中执行此操作,但目前有充分的理由将其留在单独的会话中。
现在这是在一个循环中调用的,每个文件一次,都转到同一个主机,但是在大多数循环中,我在第一次尝试时得到的行为略有不同。该脚本是一个长期运行的脚本,每个周期从一个小时半小时开始,因此在程序启动后第一次尝试不是问题,因为它也发生在第一次以外的周期上。
现在我知道这些连接应该失败,仅仅是因为我尝试访问的机器在我的开发网络上不可用。
问题是日志文件中出现的错误是:
如您所见,该$@
变量似乎没有填充循环的第一个文件。我已经稍微编辑了这个问题,因为我刚刚注意到最新周期的所有三行都带有错误消息。使用以下命令返回日志:
要获取日期和计数,请显示以下统计信息:
表明有些错误消息的数量正确,但不是全部。
我想知道是否有人知道为什么会这样。
encoding - Ruby 1.9 + Net::FTP => Encoding::UndefinedConversionError
我从 Ruby 1.8.7 升级到 1.9.2(和 Rails 3.2.2)并且遇到 Net::FTP#gettextfile 抛出 Encoding::UndefinedConversionError 的问题
我正在尝试下载一个编码为 utf-8 的 xml 文件。如果我使用 getbinaryfile,下载工作正常,但我想了解为什么 gettextfile 不起作用。
我知道如果像这样使用 File.open 我可以传递外部和内部编码:
但无法为 Net::FTP 找到这样的选项。
我还尝试了 gettextfile 的块版本,但效果不佳并给出了相同的错误消息。
有谁知道这里有什么问题?
ruby-on-rails - 如何使用 Net::FTP 将文件复制到单独的服务器上?
我正在构建一个 Rails 应用程序,它在注册时为每个用户创建一个书签文件。我想将该文件保存到远程服务器上,所以我正在尝试基于"Rails upload file to ftp server"的 Ruby 的 Net::FTP 。
我试过这段代码:
但是我收到一个错误,文件变量为零。我可能在这里做错了几件事。我对 Ruby 和 Rails 很陌生,所以欢迎任何帮助。
ruby - Ruby Net::FTP gettextfile 无法在本地保存文件
我正在尝试从 ftp 站点检索文件 (.csv) 并将它们全部保存在本地同一文件夹中。我的代码如下所示:
这是我收到的错误:
正如所建议的,这是我对 puts file 和 puts new_file 的值。
关于在 gettextfile 或我的脚本中更改什么以正确保存文件的任何建议?
perl - 使用 Perl 在 HTTP 代理后面 FTP 文件
我编写了一个简单的 Perl 脚本来列出,获取 mtime,然后获取文件(基于 mtime)。这是使用 RHEL5/6 中可用的 Perl Net::FTP 模块完成的。
我的问题是我现在必须调整这个脚本来传输位于 HTTP squid 代理(而不是 FTP 代理)后面的文件。
如果在为这些程序设置相关代理配置文件后使用 wget 或 lftp 等 Linux shell 命令,我可以 ftp 文件。
有没有办法在 Perl 中执行此操作而无需调用系统(shell)命令。我尝试设置 Net::FTP 防火墙选项(见下文),但我相信这仅适用于我们没有或不使用的 FTP 代理。
到目前为止,我的代码与此类似(为清楚起见,我省略了错误处理):
编辑:我收到的错误如下:
如果我打开被动模式,我会得到同样的错误。如果我不提供防火墙选项,我也会收到类似的超时错误:
在阅读 Net::FTP 上的手册后,我非常确定它不支持通过 http 代理进行传输。只是想知道实现列出远程文件的 mtime 然后在 Perl 中获取它们的最佳方法是什么。
谢谢
保罗
ruby-on-rails - 如何在 Ruby Net::FTP 中使用代理服务器?
我正在使用 Net::FTP ruby 库连接到 FTP 服务器并下载文件。这一切都很好,但现在我需要使用出站代理,因为他们的防火墙将 IP 地址列入白名单,并且我正在使用 Heroku 来托管该站点。我正在尝试新的 Proximo 插件,它看起来很有希望,但我无法让 Net::FTP 使用它。
我在Net::FTP 文档中看到以下内容:
连接(主机,端口 = FTP_PORT)
建立与主机的 FTP 连接,可选择覆盖默认端口。如果设置了环境变量 SOCKS_SERVER,则通过 SOCKS 代理设置连接。如果无法建立连接,则引发异常(通常是 Errno::ECONNREFUSED)。
但是尝试设置这个环境变量,或者设置ENV['SOCKS_SERVER'] = proximo_url
也不起作用。有谁知道如何正确地做到这一点?它不必是 SOCKS 代理,HTTP 代理就可以,但我不确定 Net::FTP 库是否支持这一点。
...经过一些研究...
我发现 Net::FTP 寻找一个名为 的类SOCKSSocket
,为此我找到了这些文档。但我不能包括它。include 'socket'
返回 false 我很确定这意味着它已经加载。
ruby - Ruby NET::FTP 无法解析正确的 IP
我正在尝试使用以下方式连接到 FTP 服务器:
在本例中,200.111.111.11 是正确的 IP,10.1.1.1 是假 IP。
当我通过 FTP 客户端(例如 Transmit)连接时,我连接正常,一切正常,但在脚本中它指出:
然后当它尝试通过 ruby 脚本连接时:
当它尝试执行 LIST 或 STOR 之类的任何操作时,因为 PASV 命令总是返回 10.1.1.1:12111。
那么无论如何要确保 PASV 命令使用 200.111.111.11 而不是发送回它的内容?
ruby - 为什么 Net::FTP 无法连接到服务器?
我正在尝试创建一个脚本来使用 Ruby 从 FTP 服务器列出和下载数据。我是 Ruby 新手,所以我查找了如何使用 Net::FTP 的文档。我很难理解为什么这不起作用:
这不起作用,返回此错误:
谁能解释我的脚本有什么问题?
ruby-on-rails - NET::FTP ruby on rails vit 父目录?
但是如何访问父目录a.pwd()
ruby - 无法使用 Ruby 的 Framework Padrino 读取上传的文件
我有这个表格用于上传文件:
而这个控制器来处理它:
每次我尝试上传文件时,我都会收到“内部服务器错误”。我的日志有这个:
顺便说一下,我正在 Heroku 上尝试这个。我不知道出了什么问题......它似乎对很多人有用,但我除外。