问题标签 [fluentftp]

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.

0 投票
1 回答
81 浏览

c# - 如何在 LINQPad 中创建 FTP 连接

我想用 LINQPad 创建一个到 FTP/FTPS 服务器的 FTP 或 FTPS 连接。

我确实有服务器名称和用户凭据。

0 投票
1 回答
1194 浏览

c# - “由于意外的数据包格式,握手失败”连接到 SFTP 服务器时出现 FluentFTP 错误

我正在尝试连接到 SFTP 服务器以下载一些文件。代码是用 C# 编写的,我使用 FluentFTP 连接到 FTP。客户端已将端口指定为 22。但是当我尝试以下代码时,出现错误

由于意外的数据包格式,握手失败

任何从事 FluentFTP 工作的人都可以建议我在我的代码中缺少什么。

谢谢。

0 投票
0 回答
291 浏览

azure-functions - 使用应用服务计划通过 Azure 函数应用的 FTP 服务器连接问题

我有一个 Azure Functions 应用程序,它使用下面的代码连接到 FTP 服务器。但是,我连接到服务器时出错。

仅当应用程序托管在 Azure Functions 上并在我的本地计算机上本地运行时,才会发生该错误。

错误是随机的和间歇性的,一旦发生,错误就会继续。但有时,即使在错误之后它也会连接。

例如,我设置了一个测试,每分钟运行一次,持续一小时,它在开始时工作了一段时间,然后没有建立连接,之后所有后续请求都失败了。

FluentFTP 包:27.1.0。

使用应用服务计划的 Azure 函数应用

请在下面的代码后查找异常。

错误信息是

尝试连接超时!

或者

连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

下面是堆栈跟踪:

[{"severityLevel":"Error","parsedStack":[{"assembly":"MyApp.FtpClient, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","method":"MyApp.FtpClient.FtpClientWrapper +d__3.MoveNext","level":0,"line":50,"fileName":"C:\_Repos\MyApp\src\MyApp.FtpClient\FtpClientWrapper.cs"},{"assembly":"System. Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e","method":"System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw","level":1,"line":0},{"程序集”:“System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e”,“方法”:“System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess”,"level":2,"line":0},{"assembly":"System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e","method":"System.Runtime.CompilerServices .TaskAwaiter.HandleNonSuccessAndDebuggerNotification","level":3,"line":0},{"assembly":"MyApp.AppService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","method":"MyApp .AppService.Services.DeviceService+<b__10_0>d.MoveNext","level":4,"line":95,"fileName":"C:\_Repos\MyApp\src\MyApp.AppService\Services\DeviceService.cs" },{"程序集":"System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e","method":"System.Runtime.ExceptionServices。ExceptionDispatchInfo.Throw","level":5,"line":0},{"assembly":"System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e","method":" System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess","level":6,"line":0},{"assembly":"System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" ,"方法":"System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification","level":7,"line":0},{"assembly":"MyApp.AppService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","method":"MyApp.AppService.Services.DeviceService+d__8.MoveNext","level":8,"line":71,"fileName":"C:\_Repos\MyApp\src\MyApp.AppService\Services\DeviceService.cs"},{"assembly":"System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e ","method":"System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw","level":9,"line":0},{"assembly":"System.Private.CoreLib, Version=4.0.0.0, Culture =中性,PublicKeyToken=7cec85d7bea7798e","method":"System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess","level":10,"line":0},{"assembly":"System.Private.CoreLib, 版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e","方法":"System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification","level":11,"line":0},{"assembly":"MyApp.AppService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","method":"MyApp.AppService.Services.DeviceService+ d__7.MoveNext","level":12,"line":47,"fileName":"C:\_Repos\MyApp\src\MyApp.AppService\Services\DeviceService.cs"},{"assembly":"System .Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e","method":"System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw","level":13,"line":0},{ “程序集”:“System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e”,“方法”:“System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess”,“级别”:14,"line":0},{"assembly":"System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e","method":"System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", "level":15,"line":0},{"assembly":"MyApp.AzureFunction, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","method":"RMG.PDA.IoTHub.DeviceProvisioningService .FunctionApp.Schedulers.DeviceRegistrationTimerFunction+d__5.MoveNext","level":16,"line":42,"fileName":"C:\_Repos\MyApp\src\MyApp.AzureFunction\Schedulers\DeviceRegistrationTimerFunction.cs"}] ,"outerId":"0","message":"连接 FTP 服务器时出错:144.87.142.205 端口:21 文件路径:/pub/RMGX012-2907.test。xlsx userName:E001175, ReadAllBytesAsync","type":"System.Exception","id":"37719126"},{"severityLevel":"Error","parsedStack":[{"assembly":"FluentFTP, 版本=27.1.0.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f","method":"FluentFTP.FtpSocketStream.Connect","level":0,"line":0},{"assembly":"FluentFTP, Version=27.1 .0.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f","method":"FluentFTP.FtpClient.Connect","level":1,"line":0},{"assembly":"FluentFTP, Version=27.1.0.0 , Culture=neutral, PublicKeyToken=f4af092b1d8df44f","method":"FluentFTP.FtpClient.Connect","level":2,"line":0},{"assembly":"MyApp.FtpClient, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","method":"MyApp.FtpClient.FtpClientWrapper+d__3.MoveNext","level":3,"line":32," fileName":"C:\_Repos\MyApp\src\MyApp.FtpClient\FtpClientWrapper.cs"}],"outerId":"37719126","message":"尝试连接超时!","type":" System.TimeoutException","id":"42533996"}]尝试连接超时!","type":"System.TimeoutException","id":"42533996"}]尝试连接超时!","type":"System.TimeoutException","id":"42533996"}]

0 投票
1 回答
1086 浏览

c# - FluentFTP GetListing 不返回任何结果

我似乎无法从 / 的 FTP 服务器获取任何列表。(FileZilla 显示目录和文件)。

我得到了这个代码:

但它不起作用。我尝试了 FTP 选项,但没有得到任何结果。还有什么建议吗?

0 投票
1 回答
73 浏览

.net - FTP 未列出具有相同设置的实时服务器上的文件

我有一个在 IIS 上运行的 WebApi 应用程序。

在开发中,它可以完美地读写文件。当它部署到实时系统时,它将登录但不列出文件夹的内容。这在过去是有效的,我无法弄清楚发生了什么变化以使其停止工作。

我正在使用以下代码使用 FluentFTP。

FTPSettings 是一个从数据库中检索设置的内部系统。

我试图从函数返回变量 FileList 但得到一个“对象引用未设置为对象的实例”。

我尝试过的事情:

  • 更改连接类型(激活)- 没有错误但带回一个空列表
  • 尝试 BulkListing - 同样的错误
  • 打开各种防火墙端口入站和出站
  • 尝试绕过 Client.GetListing 行。没有更多细节返回。

我在上面所做的所有更改仍然适用于测试系统,但不适用于现场。

在这一点上,我认为现场机器上的设置存在问题,但我不确定它在哪里。

0 投票
1 回答
218 浏览

c# - 通过http发送文件流不起作用

我正在使用fluentftp库。

我分别有 2 台服务器,FTPserver 和 WebServer。所以我的方案是从 ftp 服务器下载大文件并通过 http ajax 响应将其发送到我的客户端。我创建了一个 webservice .asmx 文件和一个 web 方法来创建下载数据。

这是我发送数据块的代码,但浏览器中没有发生任何事情。

0 投票
1 回答
569 浏览

c# - c# - vsftpd 和 FluentFTP - 如何使用 "Ftp.Gethash("FileName") 自动检查文件


C# OS中的编程问题:Debian 9
FTP 服务器:vsftpd
Dll:FluentFtp

FluentFTP提供了许多无需下载即可通过哈希验证文件完整性的方法,例如:

GetHash()- 使用当前选择的散列算法获取服务器上对象的散列。支持的算法在HashAlgorithms属性中可用。您应该确认它不等于FtpHashAlgorithm.NONE(这意味着服务器不支持该HASH命令)。`

但是当我尝试打电话时:

我明白了

没有任何

当我尝试打电话时:

我得到:

FluentFTP.FtpCommandException:“未知命令。”

当我尝试打电话时:

我得到:

System.NotImplementedException: '哈希算法 MD5 未被服务器通告'

所以,看来我的 vsftpd 服务器不支持文件散列。有人有解决方案吗?

谢谢,

0 投票
1 回答
2213 浏览

c# - FluentFTP and TLS connection to IIS fails with error 534

We currently use WinSCP C# library to connect to an FTP site using TLS. It works perfectly, but we are moving to Linux containers and WinSCP won't work. I've been trying to replicate the functionality using FluentFTP but with out success so far, the only response I ever seem to get from FluentFTP is

534 Local policy on server does not allow TLS secure connections.

Here is the WinSCP setup:

Here is the FluentFTP set up (with possibly a few extra bits I've tried):

Here is the log from WinSCP:

And the FluentFTP log is this:

I'm not sure why winSCP can connect and the FluentFTP one gets the 534 error. I'm running these under IIS Express locally to test.

0 投票
0 回答
2035 浏览

.net - 为什么我不会从 FTP 服务器得到响应?

不久前,我创建了一个应用程序,它利用 FluentFTP 从 FTP 服务器列出和下载文件。在过去一个月内,每当使用该库执行任何 FTP 操作时,该应用程序都会开始超时。我检查了 FluentFTP 生成的日志,操作已成功执行,但未正确处理。我尝试了 GetListing 和 Download 并遇到了同样的错误。查看堆栈跟踪,常见的故障点似乎发生在GetReply()代码中:

从服务器检索回复。除非您确定已发送回复,即您执行了命令,否则请勿执行此方法。这样做会导致代码无限期地挂起,等待永远不会到来的服务器回复。

在我看来,由于某种原因,我没有得到 FTP 服务器的响应。但是,我不知道为什么。我可以毫无问题地使用像 WinSCP 这样的独立 FTP 客户端。准系统 .NET FtpWebRequest 和 FtpWebResponse 也可以工作。我尝试在家里测试,它工作正常。我咨询了我的 IT 部门,他们声称他们最近没有进行任何更改。我没有更改我的代码。无论我连接到哪个服务器,都会发生这种情况。

任何帮助将不胜感激。

这是我的测试代码。(我在 vanilla .NET 下运行此程序。超时也发生在 .NET core 下,只是没有引发任何异常):

这是 FleuntFTP 生成的日志:

这是堆栈跟踪:

这是下载的日志(这是在有效忽略超时的最新更新之前):

堆栈跟踪:

编辑:这是来自 WinSCP 的 1 级日志做同样的事情:

0 投票
1 回答
2297 浏览

c# - 使用 FluentFTP 通过 TLS/SSL 向/从 FTP 服务器传输时,“身份验证失败,因为远程方已关闭传输流”

我已经使用FluentFTPlib im 我的项目通过 TLS 使用 FTP,但这里有些麻烦。

此代码工作正常:

并创建了目录。但在其他示例中,它无法正常工作。

第一个示例(日志文件 - https://pastebin.com/jNyZ3fmD):

我有错误:

“将文件上传到服务器时出错。有关更多信息,请参阅 InnerException。” IOException: 身份验证失败,因为远程方已关闭传输流

尝试使用以下代码从 FTP 获取文件/目录列表在控制台中不返回任何内容(日志文件 - https://pastebin.com/V8AiLs8k):

用户有权下载、创建和删除文件。但我只能在服务器上创建一个目录。