My Name is Kay....

DIY , 먹방 , 개발 , 육아 , 여행 좋아합니다.
AdBlock 사용시 화면이 정상적으로 노출되지 않습니다.
포스팅 관련 문의 및 개발 문의는 Email : wkzkfmxksi@gmail.com

추가 포스팅이 이뤄지지 않는 블로그입니다. 문의는 wkzkfmxksi@gmail.com 으로 연락주세요.
kay
조회 수 2592 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

웹사이트 모니터링용 프로그램을 찾다가 간단한 소스가 있어 만들어보았습니다.

만들었다기 보다..응용하여 쬐금 보완했습니다.



app.config 내에 셋팅된 Url 페이지를 호출하여 StatusCode 를 분석합니다.

상태 값에 따라 200 코드 ( 정상 )이 아닌 경우 알립니다.


http Status Code 에 따라 각각의 코드와 상태 값을 반환하는 기능으로 만들어졌습니다.

  • 원격 서버에서 (404) 찾을 수 없음 오류를 반환했습니다 .
  • 작업시간이 초과되었습니다.


Visual Studio 2008 C# 으로 만들었으며

일부 소스는 참고 Url의 소스를 참고하여 수정하였습니다.


주요 코드   ( 전체 프로젝트 소스 : WebSiteMonitoring.zip )


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Specialized;
using System.Web;
using System.Net;
using System.Net.Mail; 


namespace WebSiteMonitoring
{
    internal static class website
    {
        internal static void siteUrlCheck(string siteUrl)
        {
            try
            {
                var webRequest = HttpWebRequest.Create(siteUrl) as HttpWebRequest;
                webRequest.Method = WebRequestMethods.Http.Get;

                using (var webResponse = webRequest.GetResponse() as HttpWebResponse)
                {

                    if ((int)webResponse.StatusCode != 200)
                    {
                        Console.Write(siteUrl + ":" + (int)webResponse.StatusCode + Environment.NewLine);

                        // E-mail , SMS , Log 등등...비정상 처리 
                        //SmtpClient client = new SmtpClient();
                        //client.Host = "SMTP 서버";
                        //client.Timeout = 10000;
                        //client.DeliveryMethod = SmtpDeliveryMethod.Network;
                        //client.UseDefaultCredentials = false;
                        //client.Credentials = new System.Net.NetworkCredential("인증ID", "인증PW");

                        //MailMessage mm = new MailMessage("From 주소", "to 주소", "제목", urlsToPing + Environment.NewLine + ((int)webResponse.StatusCode).ToString());
                        //mm.BodyEncoding = UTF8Encoding.UTF8;
                        //mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                        //client.Send(mm);

                    }
                    else
                    {
                        Console.Write(siteUrl + ":" + (int)webResponse.StatusCode + Environment.NewLine);
                        // E-mail , SMS , Log 등등...정상 처리 
                    }
                }
            }
            catch (WebException ex)
            {
                Console.Write(ex.Message);
               // 에러 발생 시 코드 
            }
        }
 
    }
}


http Status Code : https://ko.wikipedia.org/wiki/HTTP_상태_코드

참고 Url : http://tekprolixity.blogspot.kr/2013/10/simple-website-monitor-with-c.html?showComment=1439886984065#c8181182623190154426

  1. [2015/07/30] C# SMTP 서버를 이용한 메일 발송 by kay (1409) *1
  2. [2015/04/29] 서버 모니터링 와탭 - whatap by kay (1798)
  3. [2014/10/14] C# 엑셀데이터 읽어서 디비에 저장 by kay (5140)
  4. [2014/10/14] C# 소수점 지정 by kay (1835)
  5. [2013/12/23] appSettings 값 추가하기 , 읽어오기 , 값 존재 유무 체크 by kay (5240)
?

  1. 화면 캡쳐하기

    Date2013.09.02 CategoryC# Bykay Views4060
    Read More
  2. 프로그래밍 방식으로 버튼의 Click 이벤트 호출

    Date2013.07.23 CategoryC# Bykay Views2730
    Read More
  3. 폼에서 새폼 열고 자신은 완전히 닫기.

    Date2013.07.26 CategoryC# Bykay Views7635
    Read More
  4. 웹 사이트 모니터링 프로그램 C#

    Date2015.08.18 CategoryC# Bykay Views2592
    Read More
  5. 엑셀 내보내기 , Exporting SQL To Excel

    Date2013.09.05 CategoryC# Bykay Views4347
    Read More
  6. 엑셀 내보내기 , Exporting DataGridview To Excel

    Date2013.08.08 CategoryC# Bykay Views5117
    Read More
  7. 스레드에서 함수 호출시 매개변수 넘기기

    Date2013.10.29 CategoryC# Bykay Views3211
    Read More
  8. 문자열 검색 " String.Contains() "

    Date2013.09.04 CategoryC# Bykay Views3074
    Read More
  9. [담아온글] For vs Foreach Performance 속도 대결

    Date2013.09.04 CategoryC# Bykay Views11801
    Read More
  10. WindowsForms Application DataGridView

    Date2013.07.05 CategoryC# Bykay Views2646
    Read More
  11. TextBox 에서 줄바꿈 넣기

    Date2013.07.22 CategoryC# Bykay Views10450
    Read More
  12. TextBox KeyEvent 엔터 이벤트 실행하기

    Date2013.07.26 CategoryC# Bykay Views3841
    Read More
  13. SqlCommand 재사용(Reuse) 하기

    Date2013.07.10 CategoryC# Bykay Views3927
    Read More
  14. multiLine TextBox 자동 스크롤시키기

    Date2013.10.29 CategoryC# Bykay Views3389
    Read More
  15. MDI 폼 한번에 모두 닫기

    Date2013.07.25 CategoryC# Bykay Views2824
    Read More
  16. MDI 폼 이동 및 시작 폼 설정하기

    Date2013.07.09 CategoryC# Bykay Views3429
    Read More
  17. DataGridViewComboBoxColumn Change 이벤트 Value 값 가져오기

    Date2013.09.02 CategoryC# Bykay Views5413
    Read More
  18. DataGridView 에서 열 숨기기

    Date2013.07.22 CategoryC# Bykay Views3332
    Read More
  19. DataGridView 에서 Cells 값 Null/Empty 체크하기

    Date2013.07.22 CategoryC# Bykay Views9555
    Read More
  20. dataGridView 내용 정렬 ( DefaultCellStyle , ColumnHeadersDefaultCellStyle )

    Date2013.07.08 CategoryC# Bykay Views5877
    Read More
Board Pagination Prev 1 2 Next
/ 2