使用SharpSsh连接到SFTP时,“请求的名称有效,但未找到所请求类型的数据”

时间:2015-04-09 06:24:28

标签: c# sftp sharpssh

我必须从SFTP位置下载一些文件。

我正在使用SharpSsh库,但我无法连接。

以下是我的SFTP详细信息:

<add key="FTPHost" value="xyz.csod.com" />
<add key="FTPDirectory" value="/Test" />
<add key="FTPUserName" value="abc" />
<add key="FTPPassword" value="pass" />
<add key="FTPPort" value="22" />

以下是与SFTP连接的c#代码:

using Tamir.SharpSsh;
using Tamir.SharpSsh.jsch;
using Tamir.Streams;

public string DownloadFile()
{                       
        Sftp oSftp = new Sftp(host, userName, password);//
        oSftp.Connect(port);
}

但我在Connect()时遇到异常。是 -

其他信息:

  

System.Net.Sockets.SocketException(0x80004005):请求的名称有效,但未找到所请求类型的数据

     

System.Net.Dns.InternalGetHostByName(String hostName,Boolean includeIPv6)   在System.Net.Dns.GetHostByName(String hostName)   at Tamir.SharpSsh.java.net.Socket..ctor(String host,Int32 port)   at Tamir.SharpSsh.jsch.Util.createSocket(String host,Int32 port,Int32 timeout)&#34;

我正在使用C#控制台应用程序。

1 个答案:

答案 0 :(得分:2)

您可以看到DNS问题出了问题。异常抛出与Win套接字相关。

请参阅以下链接,了解不同类型的异常以及与Windows套接字相关的异常含义。

https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx#WSANO_DATA

此外,我尝试ping您询问的域名并且它说请求超时。所以DNS一定有问题。

如果您有IP地址,请尝试使用IP,然后查看是否可以连接它。

还要确保。您已在尝试连接的服务器上正确设置了SFTP。

还尝试使用某些FTP客户端(如filezilla或任何其他服务器)连接到某些服务器。如果你能够连接那么就会出现代码问题,否则它就是STFP的相关设置

希望这会对你有所帮助。