Jak wykryć, że błąd WebRequest nie powiodło się z powodu błędu serwera proxy sieci Web, a nie błędu docelowego serwera WWW?Wykryj błąd serwera proxy HTTP dla WebRequest
try
{
var request = (HttpWebRequest)WebRequest.Create("http://www.example.com");
request.Proxy = new WebProxy("localhost");
var response = request.GetResponse();
return response.GetResponseStream();
}
catch(WebException webex)
{
//Detect proxy failure
}
Tak, sprawdzanie konkretnych słów kluczowych, takich jak "proxy" lub rzeczywisty adres proxy w komunikacie o wyjątku, byłoby wyborem, ale szukałem czegoś "bardziej deterministycznego". – AlexMinza
Tak, to nie jest najmilsze podejście, jednak rzuca wyjątek InvalidOperationException , a zatem nie zapewniam Ci zbyt wiele! –