FTP FTTPSClient.retrieveFileStream: error 500

Blackhole16

Bekanntes Mitglied
Hey Leute,

Ich habe ein Programm (erstmal zum testen) geschrieben, mit dem ich eine SSL-Verschlüsselung zu meinem FTP-Server aufbaue. Es läuft alles gut (connect, login, CWD) nur wenn ich einen Input-/Outputstream erzeugen möchte, spuckt er mir folgende Fehlermeldung bei getReplyString aus:

500 I won't open a connection to 192.***.***.*** (only to 84.***.***.***)

Das erste ist meine Rechner-IP im Netzwerk, das 2. die online-IP. Er würde die Verbindung also zum Ruter geben, aber nicht mir als lokalen Rechner...

Wie kann ich das beheben/was muss ich machen, damit er mich als Rechner mit der online-IP anspricht bzw. sodass ich einen Stream bekomme?

mfg
BH16

PS: mein Code:

Java:
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketException;
import org.apache.commons.net.ftp.FTPSClient;
 
public class Test{
    public static void main(String[] args){
        FTPSClient ftp = new FTPSClient();
        try {
            System.out.println("connect");
            ftp.connect("FTP-Server");
            System.out.println("login");
            System.out.println(ftp.login("User", "Pwd"));
            System.out.println("changedir");
            System.out.println(ftp.changeWorkingDirectory("Dir"));
            System.out.println("is");
            InputStream is = ftp.retrieveFileStream("Datei");
            String string = "";
            int read;
            
            while((read=is.read())!=-1){
                string+=(char)read;
            }
            
            System.out.println(string);
            is.close();
            
            if(ftp.completePendingCommand()){
                System.out.println("Abgeschlossen");
            }else{
                System.out.println("Fehlgeschlagen");
            }
            
            ftp.logout();
            ftp.disconnect();
        } catch (SocketException e) {
            System.out.println("SE");
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println("IOE");
            e.printStackTrace();
        }
    }
}
 
I

irgendjemand

Gast
mal ganz davon abgesehen das ich dir ja bereits sagte das ich bei diesem "problem" nicht mehr mit mache ist dies ein doppel-post ... und verstößt damit ganz klar gegen die foren regeln ...


@MOD
bitte komplett entfernen da sowohl problem-stellung als auch code hier zu finden sind : http://www.java-forum.org/netzwerkprogrammierung/129044-commons-net-verschluesselte-verbindung.html

@TO
und da das ganze thematisch zusammengehört sollte man alles auch in einem thrad behandeln ...

*no further com*
 
I

irgendjemand

Gast
dann würde ich mal überlegen warum dir keiner mehr antwortet ... vermutlich weil dir keiner mehr antworten will ...

an sich ist ja die frage wie man FTPS verwendet berechtigt ... nur leider wissen bei dir alle wozu du das verwenden willst ... was einige wie ich alles völlig absurd sehen und vermutlich desshalb nicht weiter darauf reagieren ... eben weil dein verwendungs-ziel weder sinn macht noch von uns so einfach beantwortet werden kann ... warum ? weil hier mehr faktoren zusammen wirken als dir vielleicht klar ist ...

um dein problem zu reproduzieren müsste man sich selbst erst mal umständlich bei deinem ftp-provider anmelden und dann das ganze selbst testen ... und glaubst du ernsthaft das sich jemand diese mühe machen wird wenn er weis das du die lösung zu etwas verwenden würdest wovon dir mitlerweile mehr als deutlich und oft genug abgeraten wurde ? ich glaub nicht dran ...

vielleicht fragst du mal google oder den support des providers WARUM diese fehlermeldung kommt ... anstatt uns zu fragen wie DU diese beseitigen kannst ... *falls überhaupt möglich*

ps : ja ... ich weis ich bin in diesem post exakt NULL auf dein problem eingegangen ... was aber auch mein ziel war
 

HoaX

Top Contributor
Das Problem ist dass bei Aktiv-FTP der Client dem Server sagt wo er auf die Datenverbindung wartet. Und der Client kennt seine "Internet-IP" nicht zwangsläufig. Lösung: Sag deinem FTPClient er soll den Passiv-Mode verwenden.

@Irgendjemand: Glaubst du wirklich du musst Manager spielen und den Mods erklären was sie zu tun haben? Wenn dich die Posts von Blackhole16 stören, dann lies sie einfach nichtmehr bzw antworte nicht darauf (so wie ich es mit deinen idR tue).
Der TO gibt sich zumindest Mühe, also warum willst du ihn unbedingt vergraulen?
 
I

irgendjemand

Gast
öhm .. ich drücks mal so aus : WER hat denn bitte grundlegenden regeln gemacht wie z.b. das man thematisch zusammenhängende dinge in EINEM thread behandeln sollte ? und wer hat eindeutig klar gemacht das doppel-posts *vor allem in dieser form* unerwünscht sind ?

ich finde wenn jemand als admin einer solchen site solche regeln aufstellt ... dann sollten sowohl er als auch jeder der dazu berechtigt ist diese regeln konsequent und meiner meinung nach ohne jegliche infromation durchsetzen ... andernfalls wäre es eine bestätigung dafür das regeln nur dazu da sind um gebrochen zu werden ...

wenn du mich also so fragst : JA ... da hier scheinbar diejenigen die dazu berechtigt sind bessere dinge zu tun haben wie z.b. kritiken zu vernichten anstatt erstmal das board an sich regel-konform zu halten und sich DANN erst gedanken über einzelne posts machen ...


und jetzt mal ne gegenfrage : nervt es dich nicht auch persönlich das gerade im noob-forum immer und immer wieder die selben fragen auftauchen ? würdest du in deinem eigenen board *sofern es solche regeln hat* auch so "schalmpig" damit umgehen und dir denken : heute räum ichs mal auf ... morgen isses mir egal .... ich finde es auch irgendwie witzig so posts mir gegenüber zu lesen nach dem motto : dont feed the troll ... aber erlich : wer zu DUMM ... oder zu FAUL ist google zu fragen um lösungen auf seine probleme zu erhalten ... der hat meiner meinung nach nicht das recht ein forum damit zu belästigen ...
 

Blackhole16

Bekanntes Mitglied
Das Problem ist dass bei Aktiv-FTP der Client dem Server sagt wo er auf die Datenverbindung wartet. Und der Client kennt seine "Internet-IP" nicht zwangsläufig. Lösung: Sag deinem FTPClient er soll den Passiv-Mode verwenden.

WOW, danke jetzt geht es. Ich habs geändert und jetzt laufts ;) danke!

@Irgendjemand: Wenn dich die Posts von Blackhole16 stören, dann lies sie einfach nicht mehr bzw antworte nicht darauf

Ganz deiner Meinung (inzwischen...) :p

(so wie ich es mit deinen idR tue)

BOAH, In Your Face!!! Ich glaube damit sollte ich auch mal beginnen :lol:

mfg (auch gemeint als: mit fettem Grinsen :) )
BH16

PS: Ich bin echt gespannt, wie "irgendjemand" antwortet :D
Und ein fettes thx nochmal an die Lösung!
 

HoaX

Top Contributor
öhm .. ich drücks mal so aus : WER hat denn bitte grundlegenden regeln gemacht wie z.b. das man thematisch zusammenhängende dinge in EINEM thread behandeln sollte ? und wer hat eindeutig klar gemacht das doppel-posts *vor allem in dieser form* unerwünscht sind ?

Wo ist da bitte ein Zusammenhang? Bei beidem geht es um einen FTP-Client, super. Dann darf es hier im Forum auch nurnoch einen einzigen Thread geben, weil alles geht ja um Java?!
Im ersten Thread geht es um Verschlüsseln, im zweiten um ein Verbindungsproblem. Der neue Thread ist völlig legitim.

Den Rest von dir hab ich mir erspart durchzulesen, es ist Weihnachtszeit, da gibts wichtigeres zu tun...
 

Ähnliche Java Themen


Oben