IT정보사전

[.Net] PC,모바일 접속기기 확인 (Android, iOS구분) 본문

웹 프로그래밍

[.Net] PC,모바일 접속기기 확인 (Android, iOS구분)

작은나무0530 2018. 12. 7. 13:08
728x90
반응형

안녕하세요~ 작은나무입니다!!

오늘은 프로그래밍 작업시 PC,모바일 접속기기를 확인하여 분기처리하는 부분을 작성해 보도록 하겠습니다.
Searching을 통해 확인을 해보면, 자바스크립트로 구현된 부분은 있는대 C#으로 되어 있는 걸 못본 것 같아 작성하여 공유합니다.

C#에서 클라이언트 브라우저 정보를 가져오는 방법은 바로~ 요놈 입니다.
HttpContext.Current.Request.UserAgent;

코드 비하인드에서 위와 같이 입력하여 클라이언트의 브라우저 정보를 가져올 수 있습니다.
HttpContext는 웹 문서의 정보를 가져오도록 설정할 수 있는 클래스입니다.
Current.Request는 현재 상호간의 응답 관련 부분의 Data를 지니게 됩니다.

웹브라우저의 디버깅모드(F12)를 통해서도 알아볼 수 있습니다.(data-useragent)

public static bool MachineCheck(string MobileGnb) {
    string userAgent = HttpContext.Current.Request.UserAgent;
    bool isMobile = false;
    
    //모바일인지 PC인지 CHECK
    if (MobileGnb == "MOBILE") {
        string[] browser = { "iphone", "ipod", "ipad", "android", "blackberry", "windows ce", "nokia", "webos", "opera mini", "sonyericsson", "opera mobi", "iemobile", "windows phone" };

        for (int i = 0; i < browser.Length; i++) {
            if (userAgent.ToLower().Contains(browser[i]) == true) {
                isMobile = true;
                break;
            }
        }
    } else if (MobileGnb == "IPHONE") {
        //아이폰, 안드로이드 CHECK(아이폰일경우 true)
        if (userAgent.IndexOf("iPhone") > 0 || userAgent.IndexOf("iPad") > 0 || userAgent.IndexOf("iPod") > 0) {
            isMobile = true;
        }
    }

    return isMobile;

PC,모바일을 구분할수 있으며, 아이폰, 안드로이드폰도 구분이 가능합니다. 


728x90
반응형
그리드형
Comments