我必须从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#控制台应用程序。
答案 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的相关设置
希望这会对你有所帮助。