private HttpWebResponse GetResponse(string _URL, string _Verb, string _WebRequestPostData, ref object cc, ref HttpWebRequest request, ContentTypes ContentType = ContentTypes.UrlEncoded, int TimeOutMinutes = 60)
        {
            if (_WebRequestPostData == null)
            {
                _WebRequestPostData = "";
            }


            Uri uri = new Uri(_URL);

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

            if (_URL.ToLower().Contains("https"))
            {
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol  = (SecurityProtocolType)3072; // TLS 1.2
            }

            string postsourcedata = _WebRequestPostData;

            // start added codes
            request.KeepAlive       = true;
            request.ProtocolVersion = HttpVersion.Version10;

            request.Method        = _Verb;
            request.ContentType   = ContentType.ToDescription();
            request.ContentLength = postsourcedata.Length;

            request.Proxy = GetProxy();
            request.UseDefaultCredentials = true;

            if (cc != null)
            {
                setCookies(ref request, cc);
            }
            else
            {
                request.CookieContainer = new CookieContainer();
            }
            request.AllowAutoRedirect            = true;
            request.MaximumAutomaticRedirections = 50;

            request.Timeout   = (int)new TimeSpan(60, TimeOutMinutes, 60).TotalMilliseconds;
            request.UserAgent = GetRandomUserAgents();

            if (!string.IsNullOrEmpty(postsourcedata) && _Verb == "POST")
            {
                Stream writeStream = request.GetRequestStream();
                byte[] bytes       = System.Text.Encoding.ASCII.GetBytes(postsourcedata);
                writeStream.Write(bytes, 0, bytes.Length);
                writeStream.Close();
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            return(response);
        }