首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HTTP代理上传FTP文件

问使用HTTP代理上传FTP文件
EN

Stack Overflow用户
提问于 2008-10-02 07:23:21
回答 13查看 49.4K关注 0票数 20

在HTTP代理之后,是否有方法将文件上载到FTP服务器?

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

如果没有解决办法呢?如果没有,您知道我可以使用一个好的免费FTP库吗?

编辑:不幸的是,我没有任何要连接的FTP代理。

EN

回答 13

Stack Overflow用户

发布于 2008-10-02 11:29:13

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

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

您是否确认过,配置为被动模式的FtpWebRequest不能通过HTTP工作,通过哪个目录清单/文件下载可以正常工作?

票数 9
EN

Stack Overflow用户

发布于 2008-10-02 11:31:57

大多数FTP代理都在连接上执行它们的操作,因此如果没有代理,则执行以下操作:

  • 服务器: myftpserver.com
  • 使用者:我
  • 密码: pwd

使用FTP代理,您可以:

  • 服务器: ftpproxy.mydomain.com
  • 用户: me@myftpserver.com
  • 密码: pwd

从那里就可以解决了。我正在通过一个squid代理来使用这个权限(试图调试一些东西)。

..。但是由于你没有FTP代理..。

你有袜子代理吗?这可能有效,但我不知道.NET是否能做到。否则,老实说,我认为你被困住了!与HTTP相比,FTP是一种“奇数”协议,因为它有一个控制通道(端口21)和一个数据通道(或在一个随机端口上有多个通道),所以通过代理是.。至少可以说是有趣的!

票数 5
EN

Stack Overflow用户

发布于 2009-05-28 07:43:00

我们的Rebex FTP/SSL可以使用HTTP。这不是免费的,尽管.

代码语言:javascript
复制
// initialize FTP client 
Ftp client = new Ftp();

// setup proxy details  
client.Proxy.ProxyType = FtpProxyType.HttpConnect;
client.Proxy.Host = proxyHostname;
client.Proxy.Port = proxyPort;

// add proxy username and password when needed 
client.Proxy.UserName = proxyUsername;
client.Proxy.Password = proxyPassword;

// connect, login 
client.Connect(hostname, port);
client.Login(username, password);

// do some work 
// ... 

// disconnect 
client.Disconnect();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/161200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档