2013-08-16 229 views
1

我試圖連接到FTP站點並上傳/下載文件。我能夠通過瀏覽器和FileZilla進行連接。所以我確定它確實有效。但是當我嘗試通過我的java程序訪問它時,我得到了這個異常。請任何幫助,將不勝感激。
我的Java類(構造函數),用於下載上傳
//方法ftp連接超時異常

public TriFtpClient() { 
    tri = new FTPClient(); 
    String host = InkAndTonerProperties.getSingleton().getProperty(
      "ftpDomain"); 
    int reply; 
    try { 
     tri.addProtocolCommandListener(new PrintCommandListener(
       new PrintWriter(System.out), true)); 
     tri.connect(host, 21); 
     log.debug("default port = " + tri.getDefaultPort()); 
     reply = tri.getReplyCode(); 
     if (!FTPReply.isPositiveCompletion(reply)) { 
      tri.disconnect(); 
      log.error("Exception in connecting to FTP Server"); 
     } 
     tri.login(
       InkAndTonerProperties.getSingleton().getProperty(
         "ftpUserId"), InkAndTonerProperties.getSingleton() 
         .getProperty("ftpPassword")); 
     tri.enterLocalPassiveMode(); 
    } catch (IOException e) { 
     if (tri.isConnected()) { 
      log.error("it is connected."); 
      try { 
       tri.disconnect(); 
      } catch (IOException f) { 
       // do nothing 
      } 
     } 
     log.error("Failed to connect and login", e); 
    } 
} 

//方法

堆棧跟蹤

java.net.ConnectException: Connection timed out: connect 
at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
at java.net.PlainSocketImpl.connect(Unknown Source) 
+0

我的代碼在到達tr.connect()時失敗。它無法建立連接。 – user2689946

回答

1

啓用調試日誌FTPClient和檢查進入被動模式時發生超時。 大多數情況下,進入被動模式時會發生連接超時。

如果連接超時是在低於該日誌在時間檢查IP:

Entering Passive Mode (xxx,xxx,xxx,xxx,xxx,xxx) 

如果第一塊開始用10或172或192,則服務器被詢問使用私有IP連接當進入被動模式。您必須更改服務器端的被動地址以使用公共IP地址

+0

創建連接時發生超時,但進入被動模式時不會發生超時。我還無法到達那裏。 – user2689946

+0

然後這個問題會是別的。您可以檢查以下內容。檢查您是否嘗試使用域名或IP進行連接(通常在這種情況下,它會拋出Unknon主機異常,而不是超時)。如果使用域名,請更改爲IP並嘗試。檢查瀏覽器中是否配置了代理。 – Prem

+0

感謝Prem輸入,我在這裏遇到防火牆問題。仍在試圖弄清楚 – user2689946

相關問題