2

我是 C# 的新手,我正在尝试使用 C# 访问 SFTP(从 Internet 获取一些代码)。我通过编写下面的代码尝试了这一点。但我得到了例外:

IPHostEntry hostInfo = Dns.GetHostByName(@"sftp://........");
// Get the IP address list that resolves to the host names contained in the 
// Alias property.
IPAddress[] address = hostInfo.AddressList;
// Get the alias names of the addresses in the IP address list.

“捕获到 SocketException:请求的名称有效,但未找到请求类型的数据”

我发现了很多关于此的信息,但未能理解。我还尝试使用Tamir.SharpSSH库连接 SFTP,但遇到相同的异常。

请提出一些解决方案。我的项目中需要这个。

谢谢

4

1 回答 1

5

我怀疑你需要改变:

IPHostEntry hostInfo = Dns.GetHostByName(@"sftp://server.address.com");

至:

IPHostEntry hostInfo = Dns.GetHostByName(@"server.address.com");

DNS 不知道也不关心您用来访问服务器的协议( sftp://),它只关心服务器名称

注意:Microsoft 认为该Dns.GetHostByName方法已过时,并建议您改用该Dns.GetHostEntry方法。

于 2012-07-20T06:10:50.787 回答