【问题标题】:How to use FTP using Progress 4GL?如何使用 Progress 4GL 使用 FTP?
【发布时间】:2015-04-17 19:01:42
【问题描述】:

有没有办法使用 Progress 将文件从本地文件夹发送到 FTP 文件夹?

【问题讨论】:

  • 您需要发布您已经尝试过的内容。
  • 我在 Internet 上找到了一个使用 wininet.dll 连接的示例,但我不知道它是否正确。 link
  • 我想知道是否有一种简单的方法可以连接到 ftp 服务器。
  • 您是否尝试过您找到的任何一个示例?他们都应该工作。如果您尝试过它们并遇到问题,那么您应该在问题中显示您的代码以及由此产生的错误。
  • 是的,实际上它工作得很好。但是现在要求我使用 Ftp 功能的人想要更改为 web 服务。但是那些例子他们工作得很好。问题出在 ftp 服务器上,有些设置不对。非常感谢所有帮助!

标签: progress-4gl openedge


【解决方案1】:

如果您正在运行 Windows,那么 WinSCP 是一个很好的解决方案: http://winscp.net/eng/index.php

【讨论】:

  • 感谢您的回答。就我而言,我需要使用进度功能从 FTP 发送文件。我需要调用一个函数来搜索目录中的文件并发送到 ftp
  • 我找到了这个peg.com/forums/peg/200311/msg00655.html,但我不知道它是如何工作的
  • WinSCP 可以通过 .NET 接口使用,所以它会做你需要的事情
【解决方案2】:

执行此操作的“经典”方法是将手动执行此操作时使用的命令发送到内置 FTP 命令。

如果您知道要向位于 192.168.0.1 的服务器发送一个名为“myfile.txt”的文件,您可以编写以下代码:

define variable IPAddr   as character no-undo.
define variable fileName as character no-undo.

IPAddr = "192.168.0.1".
fileName = "myfile.txt".

output through value( "ftp -v -i -A" + IPAddr ).

put unformatted "put " + fileName skip.
put unformatted "bye " skip.
output close.

显然,您可以将其包装到一个函数中并将其扩展为不仅仅是一个简单的 FTP PUT 命令(您可能需要登录...)

FTP 是一种不安全的协议,并且可以使用 PITA。如果你对这些事情有任何影响,你真的应该尝试使用更好的协议。 SCP更加更容易使用并且安全性更高。

【讨论】:

    【解决方案3】:
    DEFINE VARIABLE cFtpCommand AS CHARACTER   NO-UNDO.
    
    cFtpCommand = "your FTP COMMAND".
    
    OS-COMMAND SILENT NO-CONSOLE VALUE(cFtpCommand).
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-06
      • 2020-08-05
      • 2018-03-23
      • 2021-07-02
      • 2022-03-08
      • 2022-01-21
      • 2021-02-22
      相关资源
      最近更新 更多