Laden...

[erledigt] FTP: "The remote server returned an error: (504) Gateway Timeout."

Erstellt von serpiano vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.863 Views
S
serpiano Themenstarter:in
16 Beiträge seit 2011
vor 12 Jahren
[erledigt] FTP: "The remote server returned an error: (504) Gateway Timeout."

Hallo zusammen,

ich versuche einen Downlaod einer Datei von einem FTP-Server.
Dazu verwende ich folgenden Code:


             string ftpfullpath = "http://" + ftphost + "/" + ftpfilepath;
             WebClient wc = new WebClient();
             wc.Credentials = new System.Net.NetworkCredential(username, password);
             byte[] buff = wc.DownloadData(ftpfullpath);
             using (System.IO.FileStream fs = new FileStream(localfilepath, FileMode.Create))
             {
                 fs.Write(buff, 0, buff.Length);
                 fs.Close();
             }  

In der Zeile


             byte[] buff = wc.DownloadData(ftpfullpath);

bekomme ich nach einem Timeout die Fehlermeldung
"The remote server returned an error: (504) Gateway Timeout."

In app.config habe ich u.a. folgende Einträge:


  <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
    </defaultProxy>
  </system.net>

Einen Zugriff auf den FTP-Server funktioniert problemlos mit dem Total-Commander.

Zur Info noch: An meinem Rechner habe ich zwei Netzwerkkarten.

Hat jemand eine Idee, an was das liegen könnte?

Vielen Dank!
serpiano

I
50 Beiträge seit 2010
vor 12 Jahren

Ist der FTP Server passiv oder aktiv konfiguriert?
Haben beide Netzwerkkarten Internetzugriff?

Weil sowie es aussieht erreicht das Programm den Server nicht und bricht nach einer gewissen Zeit ab.

Gelöschter Account
vor 12 Jahren
string ftpfullpath = "http://" + ftphost + "/" + ftpfilepath;

probiers doch mal mit ftp statt http

S
serpiano Themenstarter:in
16 Beiträge seit 2011
vor 12 Jahren

@icemanns:
Ob der FTP Server aktiv oder passiv ist, muss ich noch klären. Der FTP-Zugriff über Total Commander erfolgt über "Auto Detect" des "Server Types".
Es hat nur eine Netzwerkkarte Internetzugriff. Der FTP-Server hängt an dem Netzwerk ohne Internetzugriff.

@Sebastian.Lange:
Gleicher Fehler tritt auch mit ftp:// auf.

S
serpiano Themenstarter:in
16 Beiträge seit 2011
vor 12 Jahren

@icemanns:
Also der Server ist aktiv konfiguriert.

Ich habe mal testweise meine erste (internetfähige) Netzwerkkarte ausgeschaltet.
Danach hat der Zugriff auf meinen FTP-Server über die zweite Netzwerkkarte funktioniert.

Kann ich da was in der WebClient-Klasse konfigurieren oder habe ich da ein Problem mit der prinzipiellen Konfiguration des Netzwerks?

S
serpiano Themenstarter:in
16 Beiträge seit 2011
vor 12 Jahren

Hallo zusammen,

das Problem ist leider noch nicht gelöst.
Wenn beide Netzwerkkarten aktiv sind, bekomme ich die beschriebene Fehlermeldung, obwohl ich z.B. mit dem Total Commander problemlos per FTP zugreifen kann.

Hat jemand noch eine Idee, an was es liegen kann?

Gruss
serpiano

S
serpiano Themenstarter:in
16 Beiträge seit 2011
vor 12 Jahren

Hallo,

inzwischen funktioniert der FTP.

Folgendes habe ich gemacht:

  1. DefaultProxy in app.config auskommentiert

  2. Den Proxy des WebClients auf null gesetzt.


             string ftpfullpath = "http://" + ftphost + "/" + ftpfilepath;
             WebClient wc = new WebClient();
             wc.Credentials = new System.Net.NetworkCredential(username, password);
             wc.proxy = null;
             ...

Gruss
serpiano