通过FTP代理连接到FTP服务器

时间:2013-07-19 10:59:44

标签: ftp4j

我尝试使用ftp4j从ftp服务器轮询文件。我的应用程序在Squid代理后运行,因此我使用HTTPTunnelProxyConnector连接到代理。但是在尝试连接时,它会引发以下异常:

java.net.SocketException: Can't connect to SOCKS proxy:Connection refused
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:397)
at java.net.Socket.connect(Socket.java:529)
at it.sauronsoftware.ftp4j.FTPConnector.tcpConnectForCommunicationChannel(FTPConnector.java:208)
at it.sauronsoftware.ftp4j.connectors.HTTPTunnelConnector.httpConnect(HTTPTunnelConnector.java:111)
at it.sauronsoftware.ftp4j.connectors.HTTPTunnelConnector.connectForCommunicationChannel(HTTPTunnelConnector.java:195)
at it.sauronsoftware.ftp4j.FTPClient.connect(FTPClient.java:1036)
at it.sauronsoftware.ftp4j.FTPClient.connect(FTPClient.java:1003)

这是我用于连接的代码段:

FTPClient client = new FTPClient();
client.setType(FTPClient.TYPE_BINARY);
client.setPassive(true);

HTTPTunnelConnector conn = new HTTPTunnelConnector("XX.XX.XX.XX", 80);
client.setConnector(conn);

try {
    client.connect("some.ftp.server.com");      // here I get the Exception

    ....

似乎无论我使用哪种连接器,它总是使用SocksSocketImpl,因为没有Socks Proxy而失败。 我已经尝试在Socket类中手动设置代理,但是为代理类型HTTP获取java.lang.IllegalArgumentException: Invalid Proxy

我可以使用wget和环境变量ftp_proxy设置连接到服务器,所以我的问题似乎与代理配置无关,但我没有网络破解,所以我不太确定...

我对安装的代理类型没有影响,所以我不能简单地使用另一个代理。 有人提出任何暗示吗?

0 个答案:

没有答案