Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Many customers ask us how they can use the CWD command with our FtpWebRequest.
The answer is: you cannot use the command directly, but you can modify the uri parameter to achieve the same result.
Let's say you're using the following format:
String uri = "ftp://myFtpUserName:myFtpUserPassword\@myFtpUrl";
FtpWebRequest Request = (FtpWebRequest)WebRequest.Create(uri);
Request.Method = "LIST";
The above example will bring you to your user's directory and list all the contents there. Now let's say you want to go 2 directories backwards and list the contents there (provided your user has permissions to do that). You close the previous FtpWebRequest and issue a new one with this uri
uri = "ftp://myFtpUserName:myFtpUserPassword\@myFtpUrl/%2E%2E/%2E%2E";
This is equivalent to logging in with your user's credentials and then using cd ../../
Note: if you try using the ”..” directly without escaping them the uri class will strip them, so "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl/../.." is equivalent to "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl/"
Now let's say you want to go to another user's directory which is one level above the root. If you don't specify a user name and password it's equivalent to logging in as anonymous user. Then you issue a new FtpWebRequest with the following uri
"ftp://myFtpUrl/%2F/anotherUserDir"
This is equivalent to logging in as anonymous and then doing
Cd /
cd anotherUserDirectory
Comments
Anonymous
July 06, 2006
The comment has been removedAnonymous
July 13, 2006
This is so incredibly helpful! thank you so much. I had spent a great deal of time trying to figure how to navigate to a different directory and I stumbled upon this. Thanks againAnonymous
July 27, 2006
I had a chance to play around with the FTP classes in .NET 2.0 (FtpWebRequest and FtpWebResponse). MyAnonymous
July 28, 2006
Two things.
One, this is the most aweful implmentation of a FTP client I have ever seen. You need to track down the architects and them senseless. Seriously, someone should have spoken up and said, "You know, trying to shoehorn a FTP client into the WebRequest model may not be a good idea."
Secondly, please post this code on the MSDN Wki site.Anonymous
July 25, 2008
This is a current compile of the team's existing blogs on FtpWebRequest. I am going to update it periodicallyAnonymous
March 13, 2009
Hi, I am able to FTP a file using %2E from a console application. However when I try the same thing from Windows Service I am inable to FTP. It gives the below error The remote server returned an error: (550) File unavailable (e.g., file not found, no access). Are there any settings for Windows Service ? The code is the same in both the cases and also the Network Credentials. Please help !!!Anonymous
May 30, 2009
PingBack from http://inverse-phone-directory.4pu.com/directory-backwards/30/Anonymous
November 20, 2011
Should that 550 error be happening "always" or "sometimes"? We are getting to "only sometimes". Should I try the %2F trick?Anonymous
January 14, 2014
"ftp://myFtpUrl/%2F/anotherUserDir" This is equivalent to logging in as anonymous and then doing Cd / cd anotherUserDirectory I need it to do the cd anotherUserDirectory without first doing the Cd /. The Cd / is returning a 550 error on the remote server.Anonymous
March 27, 2014
I am trying to do FTP to mainframe. Currently am able to upload and download the file. But the LRECL is set to 80 by default. I want to set this more, say about 1000. Could you please suggest on how i can construct the URI for this.Anonymous
March 27, 2014
Further to this, see below on how I am building the URI for now. ftp://mysite/'filename' The file name is enclosed within single quote, because it is z/OS.Anonymous
April 16, 2014
tried inplementing the same with %2F , didnt work. URI i used was ftp://myftpserveraddress:port/%2f/directory please help