我試圖通過代理使用org.apache.commons.net.ftp.FTPClient連接到FTP服務器。很肯定的系統屬性得到正確設置按以下幾點:通過代理與Java的FTP連接
Properties props = System.getProperties();
props.put("ftp.proxySet", "true");
// dummy details
props.put("ftp.proxyHost", "proxy.example.server");
props.put("ftp.proxyPort", "8080");
創建連接提出了一個UnknownHostException異常,我敢肯定意味着連接不使其過去的代理。
用戶憑證如何通過此連接類型傳遞給代理。
順便說一句,我可以成功創建一個URLConnection通過使用以下相同的代理;有沒有相當於Apache FTPClient的?
conn = url.openConnection();
String password = "username:password";
String encodedPassword = new String(Base64.encodeBase64(password.getBytes()));
conn.setRequestProperty("Proxy-Authorization", encodedPassword);
我從Oracle Java文檔,命名爲FTP代理主機檢查:'ftp.proxHost'。而不是'ftp.proxyHost'。沒有'y'。我不知道爲什麼,我不能測試它,因爲我沒有ftp代理。 [Java網絡和代理](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html) – cinqS