有没有其他方法可以在不使用 WebRequestMethods.Ftp.ListDirectory 方法的情况下测试 FTP 服务器的连接?
Is there any other way to test connection of FTP server without using WebRequestMethods.Ftp.ListDirectory method?
我正在使用第三方 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
。参见:
我正在使用第三方 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
。参见: