FtpWebRequest Pluggable Protocol Sample (.NET Compact Framework)

FtpWebRequest Pluggable Protocol Sample (.NET Compact Framework)

Rebex FtpWebRequest sample for .NET Compact Framework

The .NET Framework introduced Uri, WebRequest and WebResponse classes for accessing internet resources through a request/response model and includes support for HTTP protocol and file:// scheme to request local files.

Rebex FTP for .NET fits nicely into this model with FtpWebRequest class, which provides an FTP-specific implementation of WebRequest class. Once registered, WebRequest.Create can be used for accessing files on FTP servers in addition to natively supported HTTP and HTTPS.

C#

// register the component for the FTP prefix
WebRequest.RegisterPrefix("ftp://", Rebex.Net.FtpWebRequest.Creator);

// WebRequest now supports ftp protocol in addition to HTTP/HTTPS
// and local files - the rest of this code snippet is protocol-agnostic

// create web request for the given URI
WebRequest request = WebRequest.Create("ftp://ftp.example.org/files/readme.txt");

// get and read web response
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();

// process the stream - for example read the text file
StreamReader reader = new StreamReader(stream);
string textFile = reader.ReadToEnd();

// close the stream
reader.Close();

VB.NET

' register the component for the FTP prefix
WebRequest.RegisterPrefix("ftp:'", FtpWebRequest.Creator)

' WebRequest now supports ftp protocol in addition to HTTP/HTTPS
' and local files - the rest of this code snippet is protocol-agnostic

' create web request for the given URI
Dim request As WebRequest = WebRequest.Create("ftp://ftp.example.org/files/readme.txt")

' get and read web response
Dim response As WebResponse = request.GetResponse()
Dim stream As Stream = response.GetResponseStream()

' process the stream - for example read the text file
Dim reader As StreamReader = New StreamReader(stream)
Dim textFile As String = reader.ReadToEnd()

' close the stream
reader.Close()

Included in

See also: