FTP Web サーバーからのいくつかのアップロード/ダウンロード タスクを自動化しようとしています。ディレクトリにアクセスするために、クライアントまたは Firefox を介してサーバーに接続する場合、次のようなパスを指定する必要があります。
ftp://ftpserver.com/../AB00000/incoming/files
これにアクセスしようとすると:
ftp://ftpserver.com/AB00000/incoming/files
サーバーは、ディレクトリが存在しないというエラーをスローします。だから、問題:
最初の ftp アドレスで FTPWebRequest を作成しようとしていますが、常に "/../" の部分が解析され、サーバーはパスが存在しないと言います。
私はこれらを試しました:
Uri target = new Uri("ftp://ftpserver.com/../AB00000/incoming/files");
FtpWebRequest request = (FtpWebRequest)WebReqeuest.Create(target);
と
string target = "ftp://ftpserver.com/../AB00000/incoming/files";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);
最初のビットでは、Uri オブジェクトがインスタンス化されるときにパスが既に正しくありません。2 番目のビットでは、WebRequest.Create メソッドの後です。何が起こっているのですか?
編集:
さらに、これを投稿してから、no parse オプションを使用して URI を作成してみました。私も次のようなことを試しました:
string ftpserver = "ftp://ftpserver.com/../";
string path = "12345/01/01/file.toupload";
Uri = new Uri(ftpserver, path, true);
そして、常にルート部分 ("/../") を解析します。