Пример #1
0
        public static HttpResponse DoHttpWebRequest(HttpWebRequest request, byte[] data)
        {
            request.UserAgent = HttpUtils.elmcity_user_agent;

            try
            {
                //request.ContentLength = 0;

                if (data != null && data.Length > 0)
                {
                    request.ContentLength = data.Length;
                    var bw = new BinaryWriter(request.GetRequestStream());
                    bw.Write(data);
                    bw.Flush();
                    bw.Close();
                }
            }
            catch (Exception ex_write)
            {
                GenUtils.PriorityLogMsg("exception", "DoHttpWebRequest: writing data", ex_write.Message + ex_write.InnerException.Message + ex_write.StackTrace);
                throw (ex_write);
            }

            try
            {
                var response = (HttpWebResponse)request.GetResponse2();
                var status = response.StatusCode;
                string message = response.StatusDescription;
                var headers = new Dictionary<string, string>();
                foreach (string key in response.Headers.Keys)
                    headers[key] = response.Headers[key];

                byte[] return_data = GetResponseData(response);

                response.Close();

                return new HttpResponse(status, message, return_data, headers);
            }
            catch (Exception ex_read)
            {
                GenUtils.PriorityLogMsg("exception", "DoHttpWebRequest: reading data", ex_read.Message + ex_read.InnerException.Message + ex_read.StackTrace);
                throw (ex_read);
            }
        }