[英]FTP client class is not connecting
FTPClient client = new FTPClient();
FileInputStream fis = null;
try {
client.connect("32.178.10.121");
client.login("XXX", "XXX");
//
// Create an InputStream of the file to be uploaded
//
String filename = "Touch.dat";
fis = new FileInputStream(filename);
//
// Store file to server
//
client.storeFile(filename, fis);
client.logout();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fis != null) {
fis.close();
}
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
我已經嘗試了這個,但每次它給出時間超出約束的異常,並通過其他方式我成功連接但是從這里可能是理由。
這是堆棧跟蹤:
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at org.apache.commons.net.DefaultSocketFactory.createSocket(DefaultSocketFactory.java:53)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:162)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:250)
at forTesting.FileUploadDemo.main(FileUploadDemo.java:15)
首先嘗試設置代理詳細信息,如下所示
FTPClient ftp = new FTPHTTPClient(proxyHost, proxyPort, proxyUser, proxyPassword);
然后嘗試連接,如果錯誤消失,請告訴我。
如果錯誤仍然存在,請檢查FTP服務器的防火牆設置。 還嘗試使用某些GUI工具(如Filezilla)連接系統以連接到服務器。
如果您位於防火牆或代理之后,您可能想嘗試使用PASV模式。 看看這里 :
在客戶端位於防火牆后面並且無法接受傳入TCP連接的情況下,可以使用被動模式。 在此模式下,客戶端使用控制連接向服務器發送PASV命令,然后從服務器接收服務器IP地址和服務器端口號,然后客戶端使用該端口號打開從任意客戶端端口到服務器的數據連接。收到的服務器IP地址和服務器端口號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.