【C#】社内サーバーにアクセスしたいが、FtpWebResponseでエラーになる
Q&A
Closed
解決したいこと
社内サーバーに保管されているファイルの更新日時を取得したいです。
社内サーバーにアクセスしたいが、GetResponseメソッドでエラーになります。
確認したいこととしては下記2点です。
①URLの指定方法は正しいか
②FtpWebResponseを受け取るにはどうすれば良いか
記載したコード
string url = @"ftp://192.168.xx.xx/〇〇〇〇/□□□□/Test.docx";
Uri uri = new Uri(url);
//FtpWebRequestの作成
System.Net.FtpWebRequest ftpReq = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(uri);
//MethodにWebRequestMethods.Ftp.GetDateTimestamp(MDTM)を設定
ftpReq.Method = System.Net.WebRequestMethods.Ftp.GetDateTimestamp;
//FtpWebResponseを取得
System.Net.FtpWebResponse ftpRes =
(System.Net.FtpWebResponse)ftpReq.GetResponse(); // ★エラー発生★
//最終更新日時を表示
Console.WriteLine(ftpRes.LastModified);
MessageBox.Show(ftpRes.LastModified.ToString());
「GetResponse()」のところで「System.Net.WebException: 'Unable to connect to the remote server'」というエラーが出ます。
■確認したいこと
①エクスプローラーのパスを確認した時、
社内サーバーのパスは「//192.168.xx.xx/〇〇〇〇/□□□□/Test.docx」となっていたため、
文字列urlにはそのまま指定しましたが、
「System.Net.FtpWebRequest ftpReq = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(uri);」部分で
FtpWebRequestに変換できませんとエラーがでたので、頭にftpをつけてエラーが出なくなりました。
この対応方法は正しいでしょうか。
②現在のコードではリモートサーバーに接続できないというエラーが出ますが、
どのようにすれば解消できますでしょうか。