2011-03-13 2 views
1

안녕
소켓을 사용하여 사이트에 연결하고 있는데 사이트의 상태 코드를 얻고 싶습니다. 사이트가 위 또는 404 인 경우소켓 연결을 사용하여 웹 사이트의 상태 코드를 가져 오는 중

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

는 어떻게 알 수 있습니까?
감사합니다.

답변

6

소켓 연결을 사용하여이를 수행하려면 먼저 유효한 http 요청을 만들어 소켓을 통해 보내야합니다. 그런 다음 서버 응답을 읽습니다. 헤더를 구문 분석하고 상태 코드를 찾으십시오. HTTP is here의 스펙이며 원시 소켓을 사용하여 필요한 부분을 구현해야합니다.

상당히 간단하기 때문에 문제가되지 않아야합니다.하지만 소켓을 사용하여이 작업을 수행하지 않는 것이 좋습니다. 사이트 가용성을 확인해야하는 경우 프레임 워크에서 훨씬 더 나은 옵션이 있습니다. 가장 단순한 것은 WebClient 또는 HttpWebRequest입니다.

가용성 만 알면 헤더 만받을 수 있도록 HEAD 요청을 보낼 수 있습니다.

관련 문제