gpt4 book ai didi

c# - 有没有其他方法可以在不使用 WebRequestMethods.Ftp.ListDirectory 方法的情况下测试 FTP 服务器的连接?

转载 作者:太空宇宙 更新时间:2023-11-03 11:59:37 26 4
gpt4 key购买 nike

我正在使用第三方 FTP 服务器上传文件。但在上传之前,我想实现测试连接功能,以便用户可以测试他是否输入了正确的凭据。

问题是如果用户无权列出目录。因此,即使他有权访问文件上传,我的代码也无法用于测试连接,因为现在我正在使用 WebRequestMethods.Ftp.ListDirectory 方法来测试连接及其按预期工作。

bool testResult = false;

try
{
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create(objVMTestFTPConnectionRequest.FTPAddress);

request.Method = WebRequestMethods.Ftp.ListDirectory;

request.Credentials =
new NetworkCredential(
objVMTestFTPConnectionRequest.UserName, objVMTestFTPConnectionRequest.Password);

WebResponse response = request.GetResponse();

testResult = true;
}
catch (Exception exception)
{
throw;
}
return testResult;

当我删除 ListDirectory 方法时出现以下错误

The requested URI is invalid for this FTP command.

如果我不用那种方法也能做到这一点,请帮助我。

最佳答案

使用WebRequestMethods.Ftp.PrintWorkingDirectory :

  • 没睡了;
  • 影响较小;
  • 并且应该可以在任何服务器上工作。

要允许测试凭据,您还需要禁用 FtpWebRequest.KeepAlive .参见:
FtpWebRequest ignores wrong password after previous successful connection using correct password

关于c# - 有没有其他方法可以在不使用 WebRequestMethods.Ftp.ListDirectory 方法的情况下测试 FTP 服务器的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57625219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com