saville

博客园 首页 新随笔 联系 订阅 管理

上一回介绍了如何通过WMI接口监控服务器性能,但服务器运行正常不等于运行的网站能正常打开,因此还有必要对网站的运行情况进行监控。

在C#中,发起一个HTTP请求并返回其响应是非常简单的。

1     HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
2     HttpWebResponse response = request.GetResponse() as HttpWebResponse;
3     bool result = response.StatusCode == HttpStatusCode.OK;
4     response.Close();
5     return result;

如果result返回true,那么就可以认为网站能正常访问。

然而,有不少网站是需要用户登录的,比如本人平时维护的各类内部网站都是跟windows域用户绑定,实现单点登录。这样就需要用到CredentialCache类。

CredentialCache类存储多个Internet 资源的凭据。需要访问多个资源的应用程序可将这些资源的凭据存储在 CredentialCache 实例中,该实例在需要时向Internet资源提供适当的凭据集。

因此我们创建一个CredentialCache对象,并将该对象赋给HttpWebRequest.Credentials属性。

1     CredentialCache credentialCache = new CredentialCache();
2     credentialCache.Add(new Uri(url), "NTLM", new NetworkCredential(userName, password, domain));
3     request.Credentials = credentialCache;

这样就能模拟用户向网站发起请求并返回其响应了。

posted on 2013-07-14 21:25  saville  阅读(1538)  评论(1编辑  收藏  举报