edtFTPnet/Compact - FTP component for .NET Compact Framework | Free Trial | Pricing
 How to FTP through an HTTP proxy

Many HTTP servers support HTTP proxying. Clients send an HTTP CONNECT request to the server, asking that a connection be set up to a machine on the other side of the firewall. A tunnel is set up through the HTTP server. Please refer to the topic Proxies for more information on this.

HTTP proxying is set up using the ProxySettings group of properties.

Firstly, the protocol must be chosen via the ProxyType. The default is NoProxy. The Http option should be chosen out of the list of supported protocols.

The ProxyAddress must be set, and optionally the ProxyPort. Generally the UserName and Password properties must also be set, although some HTTP proxies are configured to not required a user name and password.

It should be noted that HTTP proxies do not support client requests to listen on an externally accessible port. This means only passive mode transfers are supported. Active mode transfers involve the FTP server connecting back to the client, and this is not possible via an HTTP proxy.