1

我正在检查是否可以访问服务器,然后将图片框的“可见”布尔值设置为 true。但是,当我第一次运行代码时,没有出现错误,但也没有出现图片框。

有一个offlinePic(设置Visible boolean 为true,测试失败时放在前面) 有一个onlinePic(设置Visible boolean 为true,测试通过时放在前面)

我认为可能是服务器搞砸了,所以我将其更改为使用 Google.com 尝试,并没有任何区别。

private void Launcher_Load(object sender, EventArgs e)
    {
        TestServerConnection();
    }
    public void TestServerConnection()
    {
        string url = "www.google.com";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Timeout = 15000;
        request.Method = "HEAD";
        try
        {
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                if (onlinePic.Visible == false) onlinePic.Visible = true;
                onlinePic.BringToFront();
            }
        }
        catch (WebException)
        {
            if (offlinePic.Visible == false) offlinePic.Visible = true;
            offlinePic.BringToFront();
        }
    }
4

2 回答 2

1

您的网址格式错误。
www.google.com 应该是http://www.google.com

其他一切对我来说都很好。

于 2012-08-07T15:02:00.943 回答
0

并非所有服务器都可以响应HEAD尝试GETrequest.Method. http并在 URL 中指定协议。

于 2012-08-07T15:04:20.397 回答