net 4和c#.
如果Uri(字符串)返回HTTP状态代码200,我需要一个能够返回Bool值的Class .
目前我有这个代码(它使用try来查看是否可以连接到Uri),但我想用"HttpStatusCode.OK"实现.
谢谢.
public static bool IsReachableUri(string uriInput)
{
// Variable to Return
bool testStatus;
// Create a request for the URL.
WebRequest request = WebRequest.Create(uriInput);
request.Timeout = 15000; // 15 Sec
WebResponse response;
try
{
response = request.GetResponse();
testStatus = true; // Uri does exist
response.Close();
}
catch (Exception)
{
testStatus = false; // Uri does not exist
}
// Result
return testStatus;
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 31
好吧,首先,最好是using
为你的回复而不是仅仅调用一个声明Close
- 在这种情况下没有太大的区别,但总的using
说法是要走的路.
至于测试结果状态 - 只需将响应转换为HttpWebResponse
然后使用该StatusCode
属性.像这样的东西:
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Timeout = 15000;
request.Method = "HEAD"; // As per Lasse's comment
try
{
using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
{
return response.StatusCode == HttpStatusCode.OK;
}
}
catch (WebException)
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16600 次 |
最近记录: |