Re: ftp request through ftp proxy



Thanks for your response.
I tried your solution, but it doesn't work, I have this message :
'System.NotSupportedException', "ftp scheme proxies are not supported
by ServicePointManager". (I hope this is a good traduction, I'm french
and my Visual Studio is in French :) )
Do you know another class instead of FtpWebRequest, allowing me to do
a ftp request through a ftp proxy ?

On 23 jan, 17:16, "Nicholas Paldino [.NET/C# MVP]"
<m...@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
The documentation for the Proxy property on the FtpWebRequest class
states:

The FtpWebRequest class supports HTTP and ISA Firewall Client proxies.

This leads me to believe that these are the only proxies it supports.

Also, when using an HTTP proxy, you are limited to the methods that you
can use:

If the specified proxy is an HTTP proxy, only the DownloadFile,
ListDirectory, and ListDirectoryDetails commands are supported.

I don't know if it supports an FTP proxy, but you might try and create a
URI with the FTP scheme, address, and port, and pass that to your WebProxy
instance and see if that works.

--
- Nicholas Paldino [.NET/C# MVP]
- m...@xxxxxxxxxxxxxxxxxxxxxxxxxxx

"squall" <squall2...@xxxxxxxxx> wrote in message

news:5f19839f-926b-4733-ab0c-58fd43539eb9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Hi,
I have to upload files on a ftp server through a ftp proxy with
Dotnet.
I have a 'System.InvalidOperationException' with this message : "The
requested FTP command is not supported when using HTTP proxy". Is
there a solution to use a FTP proxy and not a HTTP proxy ?

Thanks
Marc

My code (in CLI/C++, but the same in C#) :

// Get the object used to communicate with the server.
FtpWebRequest^ request = (FtpWebRequest^)WebRequest::Create("ftp://
xxx.xxx.com"); // Uri of ftp server
request->Method = WebRequestMethods::Ftp::UploadFile;

// FTP Proxy
request->Proxy = gcnew WebProxy("ftpProxyHostname", 21);

request->Credentials = gcnew
NetworkCredential("ftpServerUser","password");

// Copy the contents of the file to the request stream.
StreamReader^ sourceStream = gcnew StreamReader(exportDirectory +
zipName);
array<Byte>^ fileContents = Encoding::UTF8->GetBytes(sourceStream-
ReadToEnd());
sourceStream->Close();
request->ContentLength = fileContents->Length;

Stream^ requestStream = request->GetRequestStream();
requestStream->Write(fileContents, 0, fileContents->Length);
requestStream->Close();

FtpWebResponse^ response = (FtpWebResponse^)request->GetResponse();

.



Relevant Pages

  • Re: ncftp thru proxy
    ... Then it's a http proxy like squid NOT a ftp proxy, ... Michael Heiming ...
    (comp.os.linux.misc)
  • Re: Proxies that work with FTP and Tor?
    ... Having the SOCKS proxy set to 9050 and FTP blanked does seem to work, although FTP seems much slower than HTTP. ... I was under the impression that one needed Privoxy in order to ensure ... OTOH, if you're using another browser, one that doesn't support SOCKS like Opera even, then it or something like it is still necessary. ...
    (alt.privacy)
  • Re: bypassing a proxy server
    ... > up a FreeBSD machine on a school's network. ... > server. ... > ftp server. ... through the proxy server. ...
    (freebsd-questions)
  • Re: ISA and FTP
    ... Local destinations on the LAN are never supposed to use the proxy server's ... Only a web browser can function using FTP with the Web Proxy Service of any ... First we have an ISA server in place and anytime we want to access an ftp ... So I thought I'd download the firewall client and see if it would help. ...
    (microsoft.public.isa)
  • Re: Cant access FTP sites requiring authentication
    ... Error Code: 502 Proxy Error. ... Server: MAIN.mobital.local ... external FTP site by using passive FTP functionality: "Error Code: 502 Proxy ...
    (microsoft.public.windows.server.sbs)