- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以告诉我如何使用 FtpWebRequest 更改目录吗?这似乎应该是一件容易的事情,但我没有看到。
编辑
我只是想补充一下……我对 FtpWebRequest 没有兴趣。如果有更好(更简单)的方式在 .NET 中执行 FTP,请告诉我。
显然没有办法使用实时连接来做到这一点,您需要更改 uri 以欺骗 ftpwebrequest 使用不同的请求(感谢 Jon)。
所以我正在寻找第 3 方客户...
我尝试过的一些开源解决方案效果不佳(一直崩溃),但我找到了一个通过了一些初步测试的开源解决方案 ( .NET FTP Client )。
最佳答案
有一个 blog post来自 Mariya Atanasova,它展示了如何伪造它 - 基本上你必须将目录放在 URL 上。
我怀疑您可能会更好地使用专用的 FTP 库 - 一个不会试图将所有内容强制采用 WebRequest 做事方式的库。我个人没有为此使用任何 3rd 方库,但是搜索“FTP 库 .NET”会发现很多候选库。
编辑:jcolebrand(在 2006 年博客链接可能的情况下)
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
关于.net - 如何使用 FtpWebRequest (.NET) 更改目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/330155/
我正在寻找一小段示例代码,该示例代码使用System.Net.FtpWebRequest命名空间来获取ftp服务器上指定的远程文件的时间戳。我知道我需要将请求对象的Method属性设置为WebRequ
我在这里使用示例: http://msdn.microsoft.com/en-us/library/ms229715.aspx将 1GB 的大文件上传到 FTP 服务器。然而它就在线窒息: byte[
我制作了一个批处理类来检查 FTP 上的文件、下载它们并在 FTP 上删除它们。 当我手动运行它(不是批量运行)时,它运行完美,下载 FTP 中的所有文件并在下载完成后删除它们。 当我尝试批量运行时,
我在使用 C# 中的 FtpWebRequest 类时遇到了问题。 当我第一次尝试使用正确的凭据将文件上传到 FTP 服务器,然后第二次使用错误的凭据(用户名相同但密码错误)时,没有抛出异常并且文件仍
我想连接到工作在“主动模式”下的 FTP 服务器。这意味着,客户端可以发送应该在其上进行数据连接的端口号。通常这是一个随机端口。 (N > 1023) 在我们的例子中,如果我们总是可以使用特定端口连接
我正在使用以下代码从远程 ftp 服务器下载文件: FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverPat
我正在为 .NET 创建一个通用的 FTP 类。我似乎让事情运作良好,但有一些细节我有点不确定。 MSDN 上的文档完全没有提供有关这些细节的信息。 例如,在执行WebRequestMethods.F
正在尝试将文件上传到 FTP。登录时我设置在目录/out,上传前需要返回一个目录然后上到目录/in。我有这段代码: FtpWebRequest req = (FtpWebRequest)
我想序列化 FtpWebRequest 类的一个实例。是否可以?当我尝试时,它给了我错误,类未标记为可序列化,这意味着我无法序列化该对象,但在 msdn 文档中,他们提到了 ISerializable
我正在开发一个将多个文件上传到 FTP 的程序。为此我需要完成 8 个 Action : 在 FTP 中创建一个新文件夹 上传三个文件到新目录 在新目录下创建三个子目录 根据我收集到的信息,我只能处理
我正在组装一个简单的应用程序,我让它使用 FtpWebRequest 上传、下载、删除文件。但是我找不到如何使用 FtpWebRequest 移动文件。在不使用另一个外部依赖项的情况下将文件从一个目录
我正在尝试创建一个简单的方法,使用 FtpWebRequest 和方法 WebRequestMethods.Ftp.DownloadFile 从 FTP 下载文件。问题是我不想显示下载进度,因此需要提
以下代码旨在通过 FTP 检索文件。但是,我遇到了错误。 serverPath = "ftp://x.x.x.x/tmp/myfile.txt"; FtpWebRequest request = (F
我有以下代码来通过 FTP 检索文件: try { FtpWebRequest request = (FtpWebRequest)WebRequ
我最近使用 C# 将 Windows cmd 转换为 FtpWebRequest,以将文件上传到 IBM 大型机数据集。 Look here。 运行两者时,我发现它们上传到不同的数据集,而它们应该完全
使用FtpWebRequest列出目录的内容;但是,它没有显示隐藏文件。 如何让它显示隐藏文件? FtpWebRequest request = (FtpWebRequest)WebRequest.C
我需要列出 FTP 服务器上的数千个文件,并删除必要的文件。正如您所猜测的,性能至关重要,因此我需要一种重用 FTP 连接的方法。 MSDN上没有足够的关于FtpWebRequests连接使用的解释!
我正在尝试从包含大约 9000 个文件的 FTP 位置检索文件列表。 但是下面的代码总是只给出97个文件。在第 98 个文件的循环开始时,StreamReader.Peek() 变为 -1 输出“te
我一直致力于为客户构建一项功能,使他们能够从 www.site1.com 上传图像,将图像 URL 存储到数据库并将图像存储到 www.site2.com/images 上的文件中.我已经设法将文件上
我在使用 .NET FTPWebRequest 类将文件上传到 vsftpd 服务器时遇到了一些问题。 首先,有没有办法使用 ListDirectoryDetails 请求列出隐藏文件?现在我没有
我是一名优秀的程序员,十分优秀!