2012-04-27 102 views
6

ログインしていません返される) 私のコードは:リモートサーバーがエラー530が、私はC#でたFtpWebRequestを使用しようとしています

// Get the object used to communicate with the server. 
      FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://192.168.20.10/file.txt"); 
      request.Method = WebRequestMethods.Ftp.UploadFile; 

      // This example assumes the FTP site uses anonymous logon. 
      request.Credentials = new NetworkCredential("dev\ftp", "devftp"); 

      // Copy the contents of the file to the request stream. 
      StreamReader sourceStream = new StreamReader(@"\file.txt"); 
      byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); 
      sourceStream.Close(); 
      request.ContentLength = fileContents.Length; 
      request.UsePassive = true; 
      Stream requestStream = request.GetRequestStream(); 
      requestStream.Write(fileContents, 0, fileContents.Length); 
      requestStream.Close(); 

      FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 

      Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription); 

      response.Close(); 

であると私は(request.GetRequestStreamにエラーが発生します。 エラー:リモートサーバがエラー530を返しましたログインしていません ブラウザのページに移動しようとすると、URLが書き込まれますftp://192.168.20.10/ ブラウザのページで名前とパスワードを要求されていますが、パスワードを入力すると、ftpフォルダ内のすべてのファイルとフォルダが表示されます。

答えて

15

は行ないでください。

request.Credentials = new NetworkCredential("dev\ftp", "devftp"); 

があること:

request.Credentials = new NetworkCredential("dev\\ftp", "devftp"); 

か:

request.Credentials = new NetworkCredential(@"dev\ftp", "devftp"); 

\ fがあるので、私は、これはあなたの問題を引き起こしている可能性を信じるように持っていますフォームフィード文字。

6

.NET/C#経由でFTPサーバーに接続すると、一部の文字が「有効」ではないことがわかりました。 。文字と数字のみだけにログイン資格情報を設定した後、[-Z0-9]それは、ログインして働いていた

+0

それは働いた!ありがとう – user5071155

7

同じ問題に直面して、ここに私のソリューションです:

request.Credentials = new NetworkCredential(
    usernameVariable.Normalize(),passwordVariable.Normalize(),domainVariable.Normalize()); 

詳細はhere

を見つけることができます

希望すると助かります。

0

ユーザー名またはパスワードから二重引用符を削除すると、$サインインユーザー名またはパスワードで問題が発生することがあります。毎回一重引用符を使用するのがよい。

+0

いくつかの質問に同じ答えを投稿しないでください。おそらくそれを互いの複製としてマークする方が良いでしょう。 – Jaap

+0

@Jaapあなたの指導に感謝します。 –

関連する問題