使用C#vs2010。
想检查网址是否有效。假设我有三个网址,如www.google.com,www.ggg.com,www.gef.com .
当我浏览www.google.com =如果页面可用,那么我想要回复,此页面有效且网址有效。
当我在www.ggg.com或www.gef.com上浏览时=如果页面不可用,那么我想要一个回复,此页面无效且网址无效。
有可能吗?有什么想法或建议可以解决这个问题吗? 在此先感谢,如果有任何疑问请询问。
答案 0 :(得分:2)
.NET: Check URL's response status code?
第一个回答将返回“url status”。 然后使用if condition ==“400”等等检查返回状态。
一个例子;
List< string > urls = new List< string >
urls.add("www.google.com");
urls.add("www.ggg.com");
foreach(var url in urls)
{
//cast string to HttpResponse will need here...
if( GetHeaders(url).ToString() == "400" )
MessageBox.Show(url + " status code is 400");
}
像这样......
答案 1 :(得分:1)
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以使用Tegular Expression验证网址;请看下面的链接: http://madskristensen.net/post/Validate-a-URL-using-regular-expressions.aspx http://www.webpronews.com/validating-a-url-with-regular-expressions-2006-10
答案 4 :(得分:0)
您可以使用webrequest和webresponse。
来完成此操作看看这个SO question。
答案 5 :(得分:0)
使用WebClient类(来自System.Net命名空间),您可以检查Url引用的资源是否可用:
bool resourceAvailable = false;
WebClient webClient = new WebClient();
try
{
string pageContent = webClient.DownloadString("http://www.someResource.com");
resourceAvailable = !String.IsNullOrEmpty(pageContent);
}
catch (WebException) { }
// then you can perform actions depending on value of resourceAvailable flag (variable)
使用Uri类,您可以检查网址是否格式正确:
Uri.IsWellFormedUriString("http://www.someAddress.com", UriKind.Absolute); // will return true
Uri.IsWellFormedUriString("not an uri", UriKind.Absolute); // will return false
您还可以使用UriBuilder课程完成网址格式化。