问题标签 [ftpwebresponse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
670 浏览

c# - 上传文件到没有读取权限的 FTP 服务器

我想通过 FTP 帐户将我的一些备份上传并存储到另一台服务器。此帐户只有读取权限(没有写入权限),以防止攻击者删除我的备份。

所以我开始编写具有完全权限(又名读+写)的解决方案。这是我的代码的外观:(此代码当前正在运行)

但是,当我删除读取权限时,它不再起作用。有问题的代码行是:

错误是:

System.dll 中出现“System.Net.WebException”类型的未处理异常

附加信息:远程服务器返回错误:(550) 文件不可用(例如,找不到文件,无法访问)。

从理论上讲,上传没有读取权限的文件似乎没问题(也适用于 FileZilla)。实际上,它对我不起作用。有人可以给我这个案例的解决方案吗?

0 投票
2 回答
643 浏览

c# - 如何创建一个假的 FtpWebResponse

我试图伪造一个 FtpWebRequest.GetResponse() 进行集成测试,但不使用服务器。我一直在尝试做的是简单地返回一个假的 FtpWebResponse 但是,您不能访问 FtpWebResponse 的构造函数,因为它是内部的。

这是我的代码:

生产代码:

测试假我试图用来返回一个假的 FtpWebResponse:

最后,我要做的就是返回一个假的 ftpWebResponse 以在我的测试中进行断言。有任何想法吗?谢谢

0 投票
2 回答
2042 浏览

c# - 读取带有国际字符的 FTP 文件

我正在使用以下代码下载 FTP 位置文件。它适用于所有文件,但文件名包含国际字符的文件除外。

我已经学习了 URI 格式,因此这是不允许的,但是如果在提到的位置存在现有文件,如何下载。

为了测试,我在 IIS 下设置了本地 FTP 服务器,如下所示。

http://www.online-tech-tips.com/computer-tips/setup-ftp-server-in-windows-iis/

我收到错误

远程服务器返回错误:(550) 文件不可用(例如,找不到文件,无法访问)。

文件不可用错误

下面是我的 FTP 根文件夹,文件名有问题diá.png

在此处输入图像描述

我使用 C# 进行编码,使用 Visual Studio 2013 进行开发。出了什么问题有人可以帮忙。

问题更新: 编码为 UTF8 的更改。使用本地主机一切正常。但是当使用来自德国和瑞典等国际域的 FTP 服务器时。名称如下所示。

我收到以下行的错误。

文件名的十六进制值: Martin 建议包含。谢谢 31,30,31,33,36,2D,49,43,4F,4D,20,50,4A,C4,54,54,45,52,59,44,20,70,69,63,74,20,37‌​,38,78,31,31,38,20,61,6E,6E,69,2D,76,65,72,73,61,72,69,75,73,20,5B,77,31,33,32,31‌​,20,78,20,68,39,32,31,5D,20,6D,6D,20,44,49,46,46,55,53,45,2E,50,4E,47,

0 投票
4 回答
209 浏览

c# - 如何区分同一类的不同异常?

如果异常来自同一类,如何检查它是登录信息异常还是连接丢失异常?

0 投票
1 回答
888 浏览

c# - WebRequestMethods.Ftp 中uploadfile 和uploadfilewithuniquename 的区别

这里有两个问题:

1) WebRequestMethods.Ftp.uploadfile 和 WebRequestMethods.Ftp.uploadfilewithuniquename 的区别?

2)当我使用下面的代码为已经存在的文件上传文件时,它会覆盖文件。假设它总是会覆盖是否安全?

0 投票
2 回答
519 浏览

c# - WebRequestMethods.Ftp.ListDirectory 结果仅限于 2000 个条目

将 发送ListDirectory到 FTP 服务器,但仅从 FTP 返回前 2000 个项目。添加 SSL 并没有返回更多结果。

我应该使用另一个库来获得完整的结果吗?

0 投票
0 回答
319 浏览

azure - 从 Azure VM 或 Azure WebJob 读取 FTP 文件

我创建了一个控制台应用程序,它从FTP服务器读取CSV文件,并在验证后将记录转储到数据库。

当我从本地机器上尝试代码时,它工作得很好。没有错误,没有错误。但是当我把它放在 Azure 虚拟机上来安排它时。或者当我创建 Azure WebJob 以创建计划作业时,我在访问文件时遇到以下错误。

远程服务器返回错误:(500) 语法错误,命令无法识别。在 System.Net.FtpWebRequest.SyncRequestCallback(Object obj) 在 System.Net.FtpWebRequest.RequestCallback(Object obj) 在 System.Net.CommandStream.Dispose(Boolean disposing) 在 System.IO.Stream.Close() 在 System.IO .Stream.Dispose() at System.Net.ConnectionPool.Destroy(PooledStream pooledStream) at System.Net.ConnectionPool.PutConnection(PooledStream pooledStream, Object owningObject, Int32 creationTimeout, Boolean canReuse) at System.Net.FtpWebRequest.FinishRequestStage(RequestStage 阶段) 在 System.Net.FtpWebRequest.GetResponse() 在 Bethesda_DataUpload.Program.Main(String[] args) 在 D:\Projects\Program.cs:line 35

我正在使用以下代码连接到 FTP 服务器

我已经尝试过KeepAliveUsePassive的所有组合,例如

组合1

组合2

组合3

组合4

我应该使用什么代码?

0 投票
0 回答
1020 浏览

vb.net - 基础连接已关闭。服务器犯了协议冲突 vb.net

我需要帮助,没有我似乎无法找到解决我的问题的方法。

我正在尝试在 FTP 服务器中创建一个目录:

customCertValidation 的函数

我收到以下错误:

在此处输入图像描述

我已经在网上尝试了所有方法,但似乎没有任何效果,有人可以告诉我哪里出了问题。谢谢你

0 投票
2 回答
1220 浏览

c# - 为什么 FtpWebRequest 为这个现有目录返回一个空流?

我不确定为什么会得到这个结果。我在 Linux 服务器上运行它。(这是我的小网站的共享虚拟主机帐户。)

文件分组如下:

在此处输入图像描述

并且Another Dir里面有一个文件:

在此处输入图像描述

因此,我正在尝试使用以下代码检索服务器上不存在的目录中的badname目录内容:1somelongdir1234567

如您所见,没有这样的文件夹badname,但我没有抛出异常,而是ftpRequest.GetResponse()成功然后streamReader.ReadLine()返回null,就像我在上面的代码中显示的那样。

更奇怪的是,如果我提供这样的实际目录:

streamReader.ReadLine()仍然null返回。

有人可以解释为什么吗?


编辑:好的,伙计们,我更新了上面的代码以检索状态代码。不过我还是很疑惑。

首先,这是连接 URI 的三个值和我得到的响应/输出:

示例 1:

输出:

示例 2:

输出:

示例 3:

输出:

那么为什么它给我的结果与我得到的 3 相同,例如 2?

至于它是什么 ftp 服务器,我无法在网络日志中看到它,也看不到它FtpWebRequest本身。这是我能从中得到的Microsoft Network Monitor

欢迎使用 Pure-FTPd [privsep] [TLS] ----------..
220-您是允许的 50 个用户中的第 4 号... 220-当地时间现在是 13:14。服务器端口:21...
220-这是一个私人系统 - 不允许匿名登录..
220-此服务器也欢迎 IPv6 连接...
220 您将在 15 分钟不活动后断开连接...

0 投票
1 回答
366 浏览

c# - FTP 上传和下载 - 出现 227 或 500 错误

我想使用 FTP 上传和下载文件。我设法为我的上传和下载方法整理了以下代码。我被困在同一个地方。

如果我使用:

它给了我 500 错误。但是,如果我只使用:

我得到:远程服务器返回错误:227 进入被动模式。

这在下载和上传方法中是相同的行为。我可以使用在线客户端上传文件,所以我知道服务器设置得很好。我按照某些线程的建议禁用了防病毒软件的防火墙,但这也不起作用。现在我不知道该怎么办。我的上传和下载方法如下:

我的上传方法

我的下载方法