Announcement

Collapse
No announcement yet.

Java FTP-Verbindung mit User- und Passwortüberprüfung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Java FTP-Verbindung mit User- und Passwortüberprüfung

    Hallo,

    ich habe mal wieder ein kleines Problem.
    Mit einem lokal auf meiner Festplatte gespeichertem hmlt-file funktioniert die Methode. Aber wenn jetzt das HTML-File über eine FTP-Verbindung mit Passwort einlesen möchte kommt jedes mal:
    ava.io.FileNotFoundException: export/home/rtp99/Test.html
    at sun.net.www.protocol.ftp.FtpURLConnection.getInput Stream(Unknown Source)

    lokal:
    uriStr="file://localhost/C:/Test.html"
    und ftp:
    uriStr="ftp://xyz99:xyz99@server/export/home/xyz99/Test.html"

    Wo liegt hier der Fehler?

    public static String getText(String uriStr)
    {
    final StringBuffer buf = new StringBuffer(1000);

    try {
    // Create an HTML document that appends all text to buf
    HTMLDocument doc = new HTMLDocument()
    {
    public HTMLEditorKit.ParserCallback getReader(int pos)
    {
    return new HTMLEditorKit.ParserCallback()
    {
    // This method is whenever text is encountered in the HTML file
    public void handleText(char[] data, int pos)
    {
    buf.append(data);
    buf.append('\n');
    }
    };
    }
    };

    // Create a reader on the HTML content
    URL url = new URI(uriStr).toURL();

    URLConnection conn = url.openConnection();
    Reader rd = new InputStreamReader(conn.getInputStream());
    // Parse the HTML
    EditorKit kit = new HTMLEditorKit();
    kit.read(rd, doc, 0);
    } catch (MalformedURLException e) {e.printStackTrace();
    } catch (URISyntaxException e) {e.printStackTrace();
    } catch (BadLocationException e) {e.printStackTrace();
    } catch (IOException e) {e.printStackTrace();
    }

    // Return the text
    return buf.toString();
    }

    MFG
    Torsten

  • #2
    Hi Torsten,

    <i>"server/export/home/xyz99/Test.html"</i> Ich würde mal tippen, dass dieser Pfad nicht stimmt. Wenn der user xyz99 (oder rtp99) sich einloggt, landet der bestimmt direkt in seinem Home-Verzeichnis (xyz99). Damit wäre der ftp-Pfad dann <i>"/Test.html"</i>. Kommst Du mit einem "normalen" ftp-Client auf den Server? Falls ja, kannst Du da kontrollieren, wie der ftp-Pfad richtig lauten müsste.

    Gruß ngom
    http://www.winfonet.eu

    Comment


    • #3
      Hi ngomo,

      Der Pfad so wie er ist, derstimmt. Wenn ich in so über einen Browser eingebe lande ich genau beim gesuchten HTML-File.

      Daher verstehe ich das ganze auch net

      Comment


      • #4
        Ich mache in einem Projekt etwas Ähnliches und bei mir funktioniert es auch.
        Entweder ist Deine URL falsch oder irgendeine Einstellung Deines FTP
        Servers macht Probleme. Da gibt es diese berühmten ACTIVE/PASSIVE
        Mode Geschichten, die in Zusammenspiel mit Firewalls Probleme machen.
        Hier ist der Code den ich verwende. Ich denke der könnte auch Dir zum
        Testen helfen:

        import java.io.FileOutputStream;
        import java.io.IOException;
        import java.io.InputStream;
        import java.io.OutputStream;
        import java.net.URL;
        import java.net.URLConnection;

        public class FtpGet
        {

        public static void main(String[] args) throws IOException
        {
        String url = args[0];
        String file = args[1];
        URLConnection connection = new URL(url).openConnection();

        InputStream in = connection.getInputStream();
        OutputStream out = new FileOutputStream(file);

        int n;
        byte[] buf = new byte[4096];

        while( (n = in.read(buf)) > 0)
        {
        out.write(buf, 0, n);
        }

        in.close();
        out.close();
        }

        Comment


        • #5
          Hallo,

          ich habe es jetzt zum laufen bekommen. Es lag an den falschen Pfaden. Der Einstieg erfolgt im Homeverzeichnis. Jetzt benötige ich aber aus Verzeichnissen darunter oder anderen Verzeichnissen Dateien. Wie kann ich jetzt per Java-Code das Verzeichnis wechseln, z.B. ins Rootverzeichnis oder ein anderes

          Comment


          • #6
            Muß ich dazu unbedingt erst einen FTP-Client über Java initialisieren und über ihn dann über get() die Dateien holen oder geht das auch einfacher?

            MFG
            Torste

            Comment

            Working...
            X