c# - 使用套接字连接获取网站的状态码

标签 c#

你好
我正在使用套接字连接到一个站点,我想获取该站点的状态代码。

Socket socket_1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);<br/> IAsyncResult result = socket_1.BeginConnect(iis1, 80, null, null);

我如何判断网站是正常运行还是 404?
谢谢

最佳答案

为了使用套接字连接做到这一点,您首先需要形成一个有效的 http 请求并通过套接字发送它。然后读取服务器响应;解析 header 并查找状态代码。 HTTP 规范 is here ,并且您将需要实现您需要的部分,以便使用原始套接字执行此操作。

这应该不是问题,因为它相当简单 - 但我不建议使用套接字来执行此操作。如果您需要检查站点可用性,框架中有更好的选项。最简单的是WebClientHttpWebRequest .

如果您只需要了解可用性,您可以发送 HEAD 请求以便仅获取 header 。

关于c# - 使用套接字连接获取网站的状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5289280/

相关文章:

c# - 如何使用 C# 在 Excel 中禁用剪切、复制和粘贴选项?

c# - MSTest 拒绝运行 64 位?

c# - MVC Html 扩展返回字符串而不是 html 标记?

c# - 进行大量 PropertyUpdates 时避免 UI 锁定

c# - Entity Framework Core 级联删除一对多关系

c# - mvc 5 验证过去的日期

c# - 设置目录/子目录/文件的权限

c# - 为什么我的一些类名在新的 VS 2015 编译器中返回为 "<>c"?

c# - 使用相同的模型并行反序列化(高效)

c# - 如何在 ASP.Net MVC 3 中重定向到 ActionResult 中的路由