我尝试使用Apache commons库中的FTP连接到远程服务器 . 但我无法连接到这个服务器..我得到了例外:
java.net.ConnectException:连接超时:在java.net.DualStackPlainSocketImpl.smplConnect(DualStackPlainSocketImpl.java:79)的java.net.AualStackPlainSocketImpl.mpl上连接java.net.DualStackPlainSocketImpl.connect(7)的Java.net.AualStackPlainSocketImpl.Don.In连接(AbstractPlainSocketImpl . java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)at at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java..Socket.connect(Socket.java:589)org.apache.commons.net.SocketClient.connect(SocketClient.java:188)at org .apache.commons.net.SocketClient.connect(SocketClient.java:209)at de.download.Info4c.start(Info4c.java:95)at de.download.Info4c.main(Info4c.java:67)
这是我的代码:
FTPSClient client = new FTPSClient(false);
client.connect("<IP>",990);
int reply = client.getReplyCode();
if (FTPReply.isPositiveCompletion(reply)) {
if(client.login(user, pass)){
// Set protection buffer size
client.execPBSZ(0);
// Set data channel protection to private
client.execPROT("P");
// Enter local passive mode
client.enterLocalPassiveMode();
}
}
1 回答
如果远程服务器位于防火墙后面,您可能应该使用正确的代理来访问它 . 您的互联网选项中是否有系统代理?然后,配置JVM以通过标准Java networking properties使用它 .