C# 检查HTTP响应
当web服务器返回错误时,我没有及时捕获错误:(407) 我的应用程序在以下几点中断C# 检查HTTP响应,c#,C#,当web服务器返回错误时,我没有及时捕获错误:(407) 我的应用程序在以下几点中断 //Get Response var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 我正在验证对延迟的响应,如何在系统不崩溃的情况下测试响应 //Get Response var httpResponse = (HttpWebResponse)httpWebRequest.
//Get Response
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
我正在验证对延迟的响应,如何在系统不崩溃的情况下测试响应
//Get Response
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
if (httpResponse.StatusCode == HttpStatusCode.OK)
{
Do something
}
您可以捕获异常:
try
{
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
}
catch (WebException ex)
{
if((ex.Response as System.Net.HttpWebResponse).StatusCode == ProxyAuthenticationRequired)
{
// Do Something
}
}
您必须使用try-catch-finally块来验证响应 作为 我认为您还应该编写以下代码以避免异常
try{
HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
webRequest.Proxy = WebRequest.DefaultWebProxy;
webRequest.Credentials = new NetworkCredential("user", "password", "domain");
webRequest.Proxy.Credentials = new NetworkCredential("user", "password", "domain");
}catch(WebException ex){}
在web.config上使用
<system.net>
<defaultProxy useDefaultCredentials="true" >
</defaultProxy>
</system.net>
为避免异常GetResponse调用是否引发异常?如果“我的应用程序中断”意味着您有,那么您可以使用来处理它。我更喜欢WebException而不是exception,然后检查异常代码。
try{
HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
webRequest.Proxy = WebRequest.DefaultWebProxy;
webRequest.Credentials = new NetworkCredential("user", "password", "domain");
webRequest.Proxy.Credentials = new NetworkCredential("user", "password", "domain");
}catch(WebException ex){}