/// <summary>
        /// HttpWebRequest 객체를 생성하고 초기화한다.
        /// </summary>
        /// <returns></returns>
        private HttpWebRequest createWebRequest()
        {
            makeUriString();

            Console.WriteLine("HttpRestClient " + Method + " " + RequestUri);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(RequestUri);

            request.Method           = Method;
            request.ReadWriteTimeout = Timeout * 1000;
            request.Timeout          = Timeout * 1000;
            request.Accept           = ResponseDataFormat;
            //request.Credentials = CredentialCache.DefaultCredentials;
            request.UserAgent = "StockItemData Client";
            //request.Referer = "";

            //request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip");
            request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

            // 인증정보가 다른 서버로 새어나가지 않도록 API 서버 주소와 비교한다.
            string urlBase = Configure.server + "/" + Configure.apiVersion;

            if (RequestUri.StartsWith(urlBase))
            {
                // 인증헤더 추가
                string authorize = getAuthorizationString();
                if (authorize != null && authorize.Length > 0)
                {
                    // 인식하지 않음
                    // request.Credentials 을 사용할 것을 권장하는데 개발하기 번거로우니, X- 헤더로 대체함
                    //request.PreAuthenticate = true;
                    //request.Headers.Add("Authorization", authorize);
                    request.Headers.Add("X-Authorization", authorize);
                }

                // 암호화 헤더 추가
                if (UserEncryptMode)
                {
                    // 암호화헤더 추가
                    byte[] key = AESUtil.createRandomKeys(AESUtil.AES_BITS_256);
                    AESUtil.Key = key;
                    string rsaEncodedKey = "AES/256/CBC," + RSAEncrypt.Encrypt(key);
                    Console.WriteLine("X-Encrypt-Key:" + rsaEncodedKey);
                    request.Headers.Add("X-Encrypt-Key", rsaEncodedKey);
                }
            }
            else
            {
                Console.WriteLine("요청 주소는 API서버가 아님 [" + RequestUri + "]");
                // 암호화기능 disable
                UserEncryptMode = false;
            }

            return(request);
        }