Zip Dateien über FTP laden

Diskutiere Zip Dateien über FTP laden im Netzwerkprogrammierung Bereich.
B

ballibum

Hallo Forum,

ich kann mein Problem aktuell leider nur schlecht beschreiben und den Fehler auch nur schlecht spezifizieren. Mit folgendem Code lade ich Zip-Dateien:

Java:
ZipInputStream inputStream = new ZipInputStream(url.openStream());
            if(this.weatherstation.lastEntry == null) {
                System.out.println("Temp: lastEntry is null");
                readExternFileTemp(inputStream);
            }
            else {
                while (inputStream.available() == 1) {
                    ZipEntry ze;
                    while ((ze = inputStream.getNextEntry()) != null) {
                        if(ze.getName().startsWith("produkt")) {
                            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
Nun ist es so, das ich nahezu immer folgenden nichtssagenden Fehler erhalte:
Java:
Mär 05, 2019 4:55:01 PM de.geogockel.simmanager.ballibum.weatherapi.DWDWeatherParser getTemperature
SCHWERWIEGEND: null
java.io.IOException: sun.net.ftp.FtpProtocolException: Welcome message:
    at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:301)
    at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:393)
    at java.net.URL.openStream(URL.java:1045)
    at de.geogockel.simmanager.ballibum.weatherapi.DWDWeatherParser.getTemperature(DWDWeatherParser.java:49)
    at de.geogockel.simmanager.ballibum.weatherapi.DWDWeatherParser.getWeather(DWDWeatherParser.java:103)
    at de.geogockel.simmanager.ballibum.weatherapi.DWDWeatherParser.<init>(DWDWeatherParser.java:39)
    at de.geogockel.simmanager.ballibum.weathermanager.Weatherstation.update(Weatherstation.java:65)
    at de.geogockel.simmanager.ballibum.weathermanager.Weatherstations.update(Weatherstations.java:58)
    at de.geogockel.simmanager.ballibum.weathermanager.WeatherManager.main(WeatherManager.java:94)
Caused by: sun.net.ftp.FtpProtocolException: Welcome message:
    at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:1015)
    at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:998)
    at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:294)
    ... 8 more
Zeile 49 ist die erste Zeile im oben genannten Code. Wenn ich die FTP-URL zeitnahe im Browser aufrufe, gelingt mir der Download eigentlich immer, nur über Java klappt das alle jubel Jahre.

Es geht zum Beispiel um folgende URLs:
TemperatureURL: ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate/hourly/air_temperature/recent/stundenwerte_TU_00656_akt.zip
PericipationURL: ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate/hourly/precipitation/recent/stundenwerte_RR_00656_akt.zip

Kann ich den Fehler irgendwie besser eingrenzen um die Ursache dieser Disfunktion zu erhalten?

mit bestem Gruß
Balli
 
mihe7

mihe7

Du könntest mal mitloggen. Dazu legst Du Dir mal eine Datei logging.properties an
Code:
handlers= java.util.logging.ConsoleHandler
.level= FINEST
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
und rufst Dein Programm mit dem Parameter
-Djava.util.logging.config.file=/path/to/logging.properties auf.

Dann solltest Du eigentlich jeden Schritt des FTP-Clients ausgegeben bekommen.
 
J

JuKu

Die Welcome Message gehört meines Wissens zum FTP Protokoll.
Würde jetzt mal vermuten das ist ein Fehler im FTP Server oder in deiner FTP Library.
Auf jeden Fall bekommt der Client nicht die Nachricht, die er erwartet, also das Protokoll passt nicht.
 
Thema: 

Zip Dateien über FTP laden

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben