Estoy usando una clase de cliente web en mi código fuente para descargar una cadena usando http.C# webclient y servidor proxy
Esto funcionaba bien. Sin embargo, los clientes de la empresa están ahora conectados a un servidor proxy. Y el problema comenzó a partir de esto.
Cuando he probado mi aplicación, no creo que pueda pasar por el servidor proxy, ya que la excepción que sigue lanzándose es "no hay respuesta de xxx.xxx.xxx.xxx" que es la dirección IP del servidor proxy.
sin embargo, todavía puede navegar a la URL del sitio web y se muestra la cadena correctamente en el navegador cuando se conecta a través de un servidor proxy, pero no cuando uso el cliente web.
¿hay algo en la web cliente que tengo que configurar para que pueda acceder a la URL desde detrás de un servidor proxy?
using (WebClient wc = new WebClient())
{
string strURL = "http://xxxxxxxxxxxxxxxxxxxxxxxx";
//Download only when the webclient is not busy.
if (!wc.IsBusy)
{
string rtn_msg = string.Empty;
try
{
rtn_msg = wc.DownloadString(new Uri(strURL));
return rtn_msg;
}
catch (WebException ex)
{
Console.Write(ex.Message);
return false;
}
catch (Exception ex)
{
Console.Write(ex.Message);
return false;
}
}
else
{
System.Windows.Forms.MessageBox.Show("Busy please try again");
return false;
}
}
Idealmente, cliente Web también debería estar en una instrucción using ya que implementa IDisposable. Poste útil sin embargo. – Orphid
Para ser más claro que Orphid; con el código anterior (que es perfectamente legítimo) no olvides llamar '.Dispose' en el webclient. Además, WebProxy tiene una sobrecarga de constructor que toma un número de puerto como segundo argumento – user3791372