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

Paw*_*wal 8 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" />
Run Code Online (Sandbox Code Playgroud)

下面是与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);
}
Run Code Online (Sandbox Code Playgroud)

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

附加信息:

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

位于Tamir.SharpSsh的Tamir.SharpSsh.java.net.Socket..ctor(String host,Int32 port)的System.Net.Dns.GetHostByName(String hostName)的System.Net.Dns.InternalGetHostByName(String hostName,Boolean includeIPv6) .jsch.Util.createSocket(String host,Int32 port,Int32 timeout)"

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

Jal*_*ama 5

您可以看到您的 DNS 问题有问题。由于异常抛出与 Win socket 相关。

有关与 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 的设置有关

希望这会帮助你。