C# 检查网站是否处于活动状态

C# 检查网站是否处于活动状态,c#,C#,可能重复: 我需要找到的网站是在c运行 我正在通过80端口的网站 我在c中使用以下代码 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://tester.co.tt"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 我给了无效的网址,然后我也得到了答复是可以的 我们如何检查网站是否正在运行 我正在收到回复。状态代码正常。

可能重复:

我需要找到的网站是在c运行 我正在通过80端口的网站

我在c中使用以下代码

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://tester.co.tt");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
我给了无效的网址,然后我也得到了答复是可以的

我们如何检查网站是否正在运行

我正在收到回复。状态代码正常。
当我浏览网站时,它是不可访问的。

您可以使用HttpWebResponse


如果输入的无效地址是另一个网站,那么您将得到有效的响应,例如,如果您想检查,但键入了。我认为,如果你从一个网站(即a)请求特定的资产,你会有更好的运气,但这只有在你控制该网站时才会起作用。

使用内置的Ping类:

-1:这是一种非常糟糕的方法。如果响应代码是200或300系列中的任何其他代码怎么办?-1:我给出了无效的网址,那么我得到的响应也可以。+1,这是标准方法。200和300对于大多数网站来说都很少见,也不相关。@jon如果这是一种糟糕的方法,那么你可以分享你的方法,这样我们也可以向你学习。@javasocute:你一定是在开玩笑吧。试试www.gmail.com,看看会发生什么。当你说你得到了回复时,你的意思是回复的状态码是正常的,还是只是它创建了一个非空的回复对象?如果是前者,那么主体的反应是什么?我猜你有一个代理或者什么东西正在向你返回一个令人困惑的状态…@chris,我得到了回应。状态码没问题。当我浏览网站时,它是不可访问的。@user386258:但是在状态码为“OK”的响应对象中,您可以看到响应的其余部分,例如它正在发送的HTML。假设您知道所期望的是什么,这是否正确?Ping不会告诉您wesite是否已启动,它只显示服务器是否响应Ping。
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response == null || response.StatusCode != HttpStatusCode.OK)