问题标签 [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.
c# - 上传文件到没有读取权限的 FTP 服务器
我想通过 FTP 帐户将我的一些备份上传并存储到另一台服务器。此帐户只有读取权限(没有写入权限),以防止攻击者删除我的备份。
所以我开始编写具有完全权限(又名读+写)的解决方案。这是我的代码的外观:(此代码当前正在运行)
但是,当我删除读取权限时,它不再起作用。有问题的代码行是:
错误是:
System.dll 中出现“System.Net.WebException”类型的未处理异常
附加信息:远程服务器返回错误:(550) 文件不可用(例如,找不到文件,无法访问)。
从理论上讲,上传没有读取权限的文件似乎没问题(也适用于 FileZilla)。实际上,它对我不起作用。有人可以给我这个案例的解决方案吗?
c# - 如何创建一个假的 FtpWebResponse
我试图伪造一个 FtpWebRequest.GetResponse() 进行集成测试,但不使用服务器。我一直在尝试做的是简单地返回一个假的 FtpWebResponse 但是,您不能访问 FtpWebResponse 的构造函数,因为它是内部的。
这是我的代码:
生产代码:
测试假我试图用来返回一个假的 FtpWebResponse:
最后,我要做的就是返回一个假的 ftpWebResponse 以在我的测试中进行断言。有任何想法吗?谢谢
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,
c# - 如何区分同一类的不同异常?
如果异常来自同一类,如何检查它是登录信息异常还是连接丢失异常?
c# - WebRequestMethods.Ftp 中uploadfile 和uploadfilewithuniquename 的区别
这里有两个问题:
1) WebRequestMethods.Ftp.uploadfile 和 WebRequestMethods.Ftp.uploadfilewithuniquename 的区别?
2)当我使用下面的代码为已经存在的文件上传文件时,它会覆盖文件。假设它总是会覆盖是否安全?
c# - WebRequestMethods.Ftp.ListDirectory 结果仅限于 2000 个条目
将 发送ListDirectory
到 FTP 服务器,但仅从 FTP 返回前 2000 个项目。添加 SSL 并没有返回更多结果。
我应该使用另一个库来获得完整的结果吗?
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 服务器
我已经尝试过KeepAlive和UsePassive的所有组合,例如
组合1
组合2
组合3
组合4
我应该使用什么代码?
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 分钟不活动后断开连接...
c# - FTP 上传和下载 - 出现 227 或 500 错误
我想使用 FTP 上传和下载文件。我设法为我的上传和下载方法整理了以下代码。我被困在同一个地方。
如果我使用:
它给了我 500 错误。但是,如果我只使用:
我得到:远程服务器返回错误:227 进入被动模式。
这在下载和上传方法中是相同的行为。我可以使用在线客户端上传文件,所以我知道服务器设置得很好。我按照某些线程的建议禁用了防病毒软件的防火墙,但这也不起作用。现在我不知道该怎么办。我的上传和下载方法如下:
我的上传方法
我的下载方法