Example #1
0
        /// <summary>
        /// Sets common options for the HTTP request.
        /// </summary>
        /// <param name="request">Request to set options for.</param>
        /// <param name="opt">Options to be set for the request.</param>
        private static void _SetRequestOptions(
            HttpWebRequest request,
            HttpRequestOptions opt)
        {
            request.Timeout = opt.Timeout;
            request.CookieContainer = opt.CookieContainer;

            if (opt.UseGZipEncoding)
                request.Headers.Add(HttpRequestHeader.AcceptEncoding, ENCODING_GZIP);

            request.Referer = AgsHelper.RefererValue;
        }
Example #2
0
        ///////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////
        private static string _SendRequest(string url, string query,
            HttpRequestOptions opt,
            out HttpResponseInfo info)
        {
            Debug.Assert(url != null);
            Debug.Assert(query != null);
            Debug.Assert(opt != null);

            var req = (HttpWebRequest)WebRequest.Create(_BuildUrl(url, query));

            _SetRequestOptions(req, opt);
            return _GetResponse(req, out info);
        }
Example #3
0
        public static string SendRequest(string url, string query,
            HttpRequestOptions opt,
            out HttpResponseInfo info)
        {
            Debug.Assert(opt != null);

            string result = null;
            while (true)
            {
                try
                {
                    if (opt.Method == HttpMethod.Post)
                        result = _SendPostRequest(url, query, opt, out info);
                    else
                        result = _SendRequest(url, query, opt, out info);

                    break;
                }
                catch (Exception e)
                {
                    if (!ProxyAuthenticationErrorHandler.HandleError(e))
                    {
                        throw;
                    }
                }
            }

            return result;
        }
Example #4
0
        private static string _SendPostRequest(string url, string query,
            HttpRequestOptions opt,
            out HttpResponseInfo info)
        {
            Debug.Assert(url != null);
            Debug.Assert(query != null);
            Debug.Assert(opt != null);

            byte[] data = Encoding.UTF8.GetBytes(query);

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            req.ContentLength = data.Length;

            _SetRequestOptions(req, opt);

            string result = null;

            Stream reqStream = req.GetRequestStream();
            try
            {
                reqStream.Write(data, 0, data.Length);
                reqStream.Close();
                reqStream = null;

                result = _GetResponse(req, out info);
            }
            finally
            {
                if (reqStream != null)
                    reqStream.Close();
            }

            return result;
        }
Example #5
0
 ///////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////
 public static string SendRequest(string url, string query,
     HttpRequestOptions opt)
 {
     HttpResponseInfo info = null;
     return SendRequest(url, query, opt, out info);
 }