title: FtpWebRequest Download File
body: <p>The following code is intended to retrieve a file via FTP.  However, I'm getting an error with it.</p>
  
  <pre><code>serverPath = "ftp://x.x.x.x/tmp/myfile.txt";
  
  FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverPath);
  
  request.KeepAlive = true;
  request.UsePassive = true;
  request.UseBinary = true;
  
  request.Method = WebRequestMethods.Ftp.DownloadFile;                
  request.Credentials = new NetworkCredential(username, password);
  
  // Read the file from the server &amp; write to destination                
  using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) // Error here
  using (Stream responseStream = response.GetResponseStream())
  using (StreamReader reader = new StreamReader(responseStream))            
  using (StreamWriter destination = new StreamWriter(destinationFile))
  {
      destination.Write(reader.ReadToEnd());
      destination.Flush();
  }
  </code></pre>
  
  <p>The error is:</p>
  
  <blockquote>
    <p>The remote server returned an error: (550) File unavailable (e.g., file not found, no access)</p>
  </blockquote>
  
  <p>The file definitely does exist on the remote machine and I am able to perform this ftp manually (i.e. I have permissions).  Can anyone tell me why I might be getting this error?</p>