Ich versuche verzweifelt eine FTP-Connection über ein FTP-Proxy hinzukriegen.
Die FTP-Connection an sich klappt, dass konnte ich ohne Umweg übers Proxy testen.
Doch hier in der Firma muss ich zwangsweise über das FTP-Proxy, da ich sonst auf der Firewall lande.
Ich habe schon vieles probiert mit den FTP libaries von jakarta und ftp4j.
Die Proxies hab ich in jeder erdenklichen Weise schon über System.setProperties gesetzt, doch ich lande immer wieder auf der Firewall.....
hier mal der code mit der jakarta ftp libary:
Mit dem ftp.connect() lande ich wie gesagt auf der Firewall und da schlägt der Login natürlich fehl.... bei den meisten meiner Versuche habe ich dann folgenden Fehler bekommen beim ftp.login():
421-Access denied - wrong user name or password
org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
Hoffe mir kann da jemand helfen.
Java: JSE6
BS: Mac OS X Leopard
In den Proxysettings von Leopard hab ich auch rumgewerkelt.
FTP-Proxy an/aus - FTP als Ausnahme und wieder raus usw.
Aber es geht einfach nicht...
Hoffe es kann mir jemand helfen..
gruß
Matthias
Die FTP-Connection an sich klappt, dass konnte ich ohne Umweg übers Proxy testen.
Doch hier in der Firma muss ich zwangsweise über das FTP-Proxy, da ich sonst auf der Firewall lande.
Ich habe schon vieles probiert mit den FTP libaries von jakarta und ftp4j.
Die Proxies hab ich in jeder erdenklichen Weise schon über System.setProperties gesetzt, doch ich lande immer wieder auf der Firewall.....
hier mal der code mit der jakarta ftp libary:
Java:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import org.apache.commons.net.PrintCommandListener;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPConnectionClosedException;
import org.apache.commons.net.ftp.FTPReply;
public class ftpClient1
{
public static final void main(String[] args)
{
boolean error = false;
String server, username, password;
FTPClient ftp;
String proxyHost = "XXXXXXXXXXX";
String proxyPort = "XXXX";
System.setProperty("ftp.proxySet","true");
System.setProperty("ftp.proxyHost",proxyHost);
System.setProperty("ftp.proxyPort",proxyPort);
// System.setProperty("ftp.nonProxyHosts",proxyHost);
System.setProperty("ftpProxySet","true");
System.setProperty("ftpProxyHost",proxyHost);
System.setProperty("ftpProxyPort",proxyPort);
// System.setProperty("ftp.nonProxyHosts",proxyHost);
// System.setProperty("http.proxySet","true");
// System.setProperty("http.proxyHost",proxyHost);
// System.setProperty("http.proxyPort",proxyPort);
// System.setProperty("http.nonProxyHosts",proxyHost);
// System.setProperty("proxySet","true");
// System.setProperty("proxyHost",proxyHost);
// System.setProperty("proxyPort",proxyPort);
// System.setProperty("nonProxyHosts",proxyHost);
// System.setProperty("socksProxySet","true");
// System.setProperty("socksProxyHost",proxyHost);
// System.setProperty("socksProxyPort",proxyPort);
server = "XXXX";
username = "XXXX";
password = "XXXX";
ftp = new FTPClient();
// ftp.enterLocalPassiveMode();
// ftp.setRemoteVerificationEnabled(false);
ftp.addProtocolCommandListener(new PrintCommandListener(
new PrintWriter(System.out)));
try
{
int reply;
ftp.connect(server);
System.out.println("Connected to " + server + ".");
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
System.err.println("FTP server refused connection.");
System.exit(1);
}
}
catch (IOException e)
{
if (ftp.isConnected())
{
try
{
ftp.disconnect();
}
catch (IOException f)
{
// do nothing
}
}
System.err.println("Could not connect to server.");
e.printStackTrace();
System.exit(1);
}
__main:
try
{
if (!ftp.login(username, password))
{
ftp.logout();
error = true;
break __main;
}
System.out.println("Remote system is " + ftp.getSystemName());
ftp.enterLocalPassiveMode();
ftp.logout();
}
catch (FTPConnectionClosedException e)
{
error = true;
System.err.println("Server closed connection.");
e.printStackTrace();
}
catch (IOException e)
{
error = true;
e.printStackTrace();
}
finally
{
if (ftp.isConnected())
{
try
{
ftp.disconnect();
}
catch (IOException f)
{
// do nothing
}
}
}
System.exit(error ? 1 : 0);
} // end main
}
Mit dem ftp.connect() lande ich wie gesagt auf der Firewall und da schlägt der Login natürlich fehl.... bei den meisten meiner Versuche habe ich dann folgenden Fehler bekommen beim ftp.login():
421-Access denied - wrong user name or password
org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
Hoffe mir kann da jemand helfen.
Java: JSE6
BS: Mac OS X Leopard
In den Proxysettings von Leopard hab ich auch rumgewerkelt.
FTP-Proxy an/aus - FTP als Ausnahme und wieder raus usw.
Aber es geht einfach nicht...
Hoffe es kann mir jemand helfen..
gruß
Matthias