※ ChatGPTを利用し、要約された質問です(原文:FtpWebRequestでエラーになってしまう)
FtpWebRequestでエラーになってしまう
お世話になっております。
当方C#初心者でございます。
現在、FTPSを使用しファイルダウンロードを行うクライアントアプリの作成を
FtpWebRequest、FtpWebResponseを用いて行っております。
#以下を参考にし、作成させて頂いております。
http://dobon.net/vb/dotnet/internet/ftpwebrequest.html#section1
http://blogs.gine.jp/taka/archives/1377
ですが、FtpWebRequest.GetResponse()のところでエラーが発生し原因を突き止められておりません。
また、ポートを21、990とした際にエラー内容も変わっており、余計原因究明が困難となっております。。
解決にご助力願えますでしょうか。
以下ソースと、トレース結果となります。
-----------------------------------------
ServicePointManager.ServerCertificateValidationCallback =
new RemoteCertificateValidationCallback(
delegate(Object certsender, X509Certificate certificate,
X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; });
FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create("ftp://192.168.1.111:21/%2fhome/ftp_test/hogehoge.jpg");
ftpReq.Credentials = new NetworkCredential("test_user", "test_pass");
ftpReq.Method = WebRequestMethods.Ftp.GetFileSize;
ftpReq.KeepAlive = false;
ftpReq.EnableSsl = true;
FtpWebResponse ftpRes = (FtpWebResponse)ftpReq.GetResponse(); <- ここでExceptionが発生してしまう
Console.WriteLine(ftpRes.ContentLength);
textBox1.Text += ftpRes.ContentLength;
-----------------------------------------
Port:21
System.Net Verbose: 0 : [4936] Exiting FtpWebRequest#33736294::GetResponse()
System.Net Verbose: 0 : [5252] WebRequest::Create(ftp://192.168.1.111:21/%2fhome/ftp_test/hogehoge.jpg)
System.Net Information: 0 : [5252] FtpWebRequest#33736294::.ctor(ftp://192.168.1.111:21/%2fhome/ftp_test/hogehoge.jpg)
System.Net Verbose: 0 : [5252] Exiting WebRequest::Create() -> FtpWebRequest#33736294
System.Net Verbose: 0 : [5252] FtpWebRequest#33736294::GetResponse()
System.Net Information: 0 : [5252] FtpWebRequest#33736294::GetResponse(メソッド = SIZE。)
System.Net Information: 0 : [5252] Associating FtpWebRequest#33736294 with FtpControlStream#35191196
System.Net Information: 0 : [5252] FtpWebRequest#33736294::(FTP connection#35191196 を解放しています。)
System.Net Information: 0 : [5252] Associating FtpWebRequest#33736294 with FtpControlStream#48285313
System.Net Information: 0 : [5252] FtpWebRequest#33736294::(FTP connection#48285313 を解放しています。)
System.Net Error: 0 : [5252] Exception in the FtpWebRequest#33736294::GetResponse - 基礎になる接続が閉じられました: 受信時に予期しないエラーが発生しました
System.Net Error: 0 : [5252] 場所 System.Net.FtpWebRequest.SyncRequestCallback(Object obj)
場所 System.Net.FtpWebRequest.RequestCallback(Object obj)
場所 System.Net.CommandStream.InvokeRequestCallback(Object obj)
場所 System.Net.CommandStream.Abort(Exception e)
場所 System.Net.FtpWebRequest.FinishRequestStage(RequestStage stage)
場所 System.Net.FtpWebRequest.GetResponse()
System.Net Verbose: 0 : [5252] Exiting FtpWebRequest#33736294::GetResponse()
------------------------------------------
Port:990
System.Net Verbose: 0 : [3804] Exiting FtpWebRequest#33736294::GetResponse()
System.Net Verbose: 0 : [2416] WebRequest::Create(ftp://192.168.1.111:21/%2fhome/ftp_test/hogehoge.jpg)
System.Net Information: 0 : [2416] FtpWebRequest#33736294::.ctor(ftp://192.168.1.111:21/%2fhome/ftp_test/hogehoge.jpg)
System.Net Verbose: 0 : [2416] Exiting WebRequest::Create() -> FtpWebRequest#33736294
System.Net Verbose: 0 : [2416] FtpWebRequest#33736294::GetResponse()
System.Net Information: 0 : [2416] FtpWebRequest#33736294::GetResponse(メソッド = SIZE。)
System.Net Information: 0 : [2416] Associating FtpWebRequest#33736294 with FtpControlStream#35191196
System.Net Information: 0 : [2416] FtpWebRequest#33736294::(FTP connection#35191196 を解放しています。)
System.Net Error: 0 : [2416] Exception in the FtpWebRequest#33736294::GetResponse - 基礎になる接続が閉じられました:
ご教示、ご指摘のほど、よろしくお願いいたします。
お礼
こちら、FtpWebRequestでの実装が難しいようでしたので、TcpClientを用い実装とさせていただきました。 ご回答ありがとうございました。
補足
ありがとうございます。 他アプリで確認したところ、接続は出来ており、アップダウンは行えておりました。 また、コマンドの返却もされているようです。 今回作成しているアプリでは、サーバ側にログが出ておらず そもそも、接続が出来ていないような気がしております。 ソース等の不備になりますでしょうか?