web-dev-qa-db-ja.com

SharpSshを使用してSFTPに接続すると、「要求された名前は有効ですが、要求されたタイプのデータが見つかりませんでした」

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)at 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)」

C#コンソールアプリケーションを使用しています。

8
Pawan Agrawal

DNSの問題に問題があることがわかります。例外のスローはWinソケットに関連しています。

さまざまな種類の例外と、Windowsソケットに関連する例外の意味については、次のリンクを参照してください。

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

また、私はあなたが質問したそのドメインにpingを送信しようとします、そしてそれはリクエストタイムアウトと言っています。したがって、DNSに問題があるはずです。

あなたがこれのIPアドレスを持っているなら、IPで試してみて、あなたはそれに接続することができますか?.

また、それを確認してください。接続しようとしているサーバーのSFTPが適切に設定されている。

また、filezillaなどのFTPクライアントを使用して、サーバーに接続してみてください。接続できる場合はコードに問題があります。それ以外の場合は、STFPの設定に関連しています。

これがお役に立てば幸いです。

3
Jalpesh Vadgama