How to: Download files with FTP
This sample shows how to download a file from an FTP server.
Note
This article is specific to projects that target .NET Framework. For projects that target .NET 6 and later versions, FTP is no longer supported.
Example
using System;
using System.IO;
using System.Net;
namespace Examples.System.Net
{
public class WebRequestGetExample
{
public static void Main ()
{
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
request.Method = WebRequestMethods.Ftp.DownloadFile;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential("anonymous","janeDoe@contoso.com");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
Console.WriteLine(reader.ReadToEnd());
Console.WriteLine($"Download Complete, status {response.StatusDescription}");
reader.Close();
response.Close();
}
}
}
Imports System.IO
Imports System.Net
Namespace Examples.System.Net
Public Module WebRequestGetExample
Public Sub Main()
' Get the object used to communicate with the server.
Dim request As FtpWebRequest = CType(WebRequest.Create("ftp://www.contoso.com/test.htm"), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.DownloadFile
' This example assumes the FTP site uses anonymous logon.
request.Credentials = New NetworkCredential("anonymous", "janeDoe@contoso.com")
Dim response As FtpWebResponse = CType(request.GetResponse(), FtpWebResponse)
Dim responseStream As Stream = response.GetResponseStream()
Dim reader As StreamReader = New StreamReader(responseStream)
Console.WriteLine(reader.ReadToEnd())
Console.WriteLine($"Download Complete, status {response.StatusDescription}")
reader.Close()
response.Close()
End Sub
End Module
End Namespace
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.