c# - 使用 HTTP 代理上传 FTP 文件

标签 c# proxy ftp

有没有办法在 HTTP 代理后面将文件上传到 FTP 服务器?

使用 .Net Webclient 的 HTTP 代理似乎不支持上传文件。 (http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.proxy.aspx)。

如果没有解决方法?如果没有,您知道我可以使用的优秀且免费的 FTP 库吗?

编辑:很遗憾,我没有任何可连接的 FTP 代理。

最佳答案

在主动 FTP 模式下,服务器向客户端发起数据连接。如果客户端在 HTTP 代理后面,这显然行不通。在被动 FTP 模式下,客户端启动初始连接和数据连接。由于 HTTP 代理可以隧道任意传出 TCP 连接(使用 CONNECT 方法),因此应该可以通过 HTTP 代理以被动模式访问 FTP 服务器。

FtpWebRequest 似乎支持被动模式。但是,我不明白为什么支持文件下载和目录列表,而不支持同样使用相同数据连接的文件上传。

您是否确认配置为被动模式的 FtpWebRequest 无法通过目录列表/文件下载工作正常的 HTTP 代理工作?

关于c# - 使用 HTTP 代理上传 FTP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/161200/

相关文章:

c# - 使用 NPPExec 脚本从 Notepad++ 中使用 csc.exe 编译 C#

java - 如何将代理注入(inject)服务?

php - 如何使用 PHP 下载 FTP 上的最新文件?

powershell - 使用 PowerShell 在 IIS FTP 站点上设置权限和设置

c# - 运行所选代码生成器 : 时出错

c# - 将 View 模型绑定(bind)到 View

C#套接字编程

windows - 通过命令行通过 SOCKS5 代理打开 putty ssh 连接

java - BrowserMob 代理 - WebDriver/错误 : The proxy server is refusing connections

python - 高级 Python FTP - 我可以控制 ftplib 与服务器的通信方式吗?