I have to upload and download files on FTP with HTTPS. If I am thinking right I have to use HTTPWebRequest class since the ftp is using HTTPS protocol.
Now I'm trying to download a file but all the response stream I'm getting is just the "virtual user 'XXX' logged in".
May be I'm not setting correct method type or something else is going wrong.
WebRequest ftp1 = HttpWebRequest.Create(u1);
ftp1.PreAuthenticate = true;
ftp1.Credentials = netCred;
ftp1.Method = WebRequestMethods.Ftp.DownloadFile;
try
{
response = (HttpWebResponse)ftp1.GetResponse();
remoteStream = response.GetResponseStream();
localStream = File.Create("c:/TEST1.txt");
int bytesProcessed = 0;
byte[] buffer = new byte[4096];
int bytesRead;
do
{
// Read data (up to 1k) from the stream
bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
// Write the data to the local file
localStream.Write(buffer, 0, bytesRead);
// Increment total bytes processed
bytesProcessed += bytesRead;
} while (bytesRead > 0);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
// Close the response and streams objects here
// to make sure they're closed even if an exception
// is thrown at some point
if (response != null) response.Close();
if (remoteStream != null) remoteStream.Close();
if (localStream != null) localStream.Close();
}