Pregunta

Cuando intento mi programa en mi máquina Win2k8 funciona muy bien, pero el triunfo 2k3 me da este error ese mensaje de error

Este es el código que genera el error'

WebClient wc = new WebClient(); 
wc.DownloadFile("ftp://ftp.website.com/sample.zip");

está la parte extraña. si se deshabilita el firewall en el servidor por completo. el error desaparece. pero aún así los errores si añado el programa a la lista de excepciones y encienda el servidor de seguridad.

tiene buscar en la web para los días, no pudo encontrar ninguna solución.

¿Fue útil?

Solución

Usted debe tratar de usar el modo pasivo para FTP. La clase WebClient no permite eso, pero FtpWebRequest hace.

FtpWebRequest request = WebRequest.Create("ftp://ftp.website.com/sample.zip") as FtpWebRequest;
request.UsePassive = true;
FtpWebResponse response = request.GetResponse() as FtpWebResponse;
Stream ftpStream = response.GetResponse();
int bufferSize = 8192;
byte[] buffer = new byte[bufferSize];
using (FileStream fileStream = new FileStream("localfile.zip", FileMode.Create, FileAccess.Write))
{
    int nBytes;
    while((nBytes = ftpStream.Read(buffer, 0, bufferSize) > 0)
    {
        fileStream.Write(buffer, 0, nBytes);
    }
}

Otros consejos

Por favor, publique la excepción completa, incluyendo cualquier InnerException:

try
{
    WebClient wc = new WebClient(); 
    wc.DownloadFile("ftp://ftp.website.com/sample.zip");
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString()); // Or Debug.Trace, or whatever
    throw;    // As if the catch were not present
}

I tenía un problema similar (sin ftp) y una solución diferente

El entorno de servidor de producción se había hecho tan seguro de que el servidor no pudo llegar a la URL.

Prueba rápida es utilizar un navegador en la caja y ver si se puede navegar a la URL.

Espero que esto ayude a alguien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top