Autor Beitrag
Tomstrom
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 20.05.10 13:55 
Hallo zusammen

Ich habe ein kleines Tool welches mir Daten ab einem Embedded Linux System sichert. Nun hat der Hersteller die Kernel-Version geändert und es klappt nicht mehr. Hat jemand einen Tipp:

Momentan habe ich einen absoluten Pfad als request 192.168.0.3/home angegeben. Wenn ich mit einem FTP-Clientprogramm komme ich irgendwie nicht direkt auf den Pfad sondern bin irgendwo im root. Kann mir jemand sagen wie ich einen Befehl wie change directory "cd /home" beim Request mitgeben kann. So könnte ich das Problem umgehen. Habe diverse Foren durchgelesen aber... ausser Spesen nichts gewesen. Hier mein Code-Snippet:

Hier der Request:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
public bool List(string URL)
        {
            FtpWebRequest requ = null;
            FtpWebResponse resp = null;
            StreamReader reader = null;
            try
            {
                requ = (FtpWebRequest)WebRequest.Create(URL); // Dieser wird aus dem Form als String zusammen gesetzt
                requ.Credentials = new NetworkCredential(username, password);
                requ.Method = WebRequestMethods.Ftp.ListDirectory;&n...p;   // auszuführende Aktion festlegen
                resp = (FtpWebResponse)requ.GetResponse();
                reader = new StreamReader(resp.GetResponseStream());
                while (reader.Peek() > -1)
                files.Add(reader.ReadLine());
                
                return true;              // über lasterror nach Winform toolStripStatusLabel1.Text 
                                // = "Auflistung komplett!";
            }
            catch (UriFormatException ex)
            {
                lasterror = ex.Message;
                return false;
            }
            catch (WebException ex)
            {
             lasterror = ex.Message;
             return false;
            }                            
            finally
            {
                if (reader != null) reader.Close();
            }


Hier der zusammengesetzte String uas dem Form:

txtb_url.Text = "ftp://" + txtb_ipadresse.Text;
this.txtb_url.Text = txtb_url.Text + "/home/";


Besten Dank für Eure Mithilfe

Moderiert von user profile iconKha: C#-Tags hinzugefügt
Tomstrom Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: So 23.05.10 14:33 
Hallo Leute

Habe die Lösung:

Man muss eifach bei der übergabe der URL ein cd(change directory) mitgeben. Dies wird mit dem Kürzel %2F gemacht. In meinem Beispiel ist es dann txtb_url.Text + "/%2F/home/"