コード例 #1
0
        /// <summary>
        /// The get.
        /// </summary>
        /// <param name="webParams">
        /// The web parameters.
        /// </param>
        /// <returns>
        /// The <see cref="string"/>.
        /// </returns>
        public string Get(WebRequestDTO webParams, out bool result)
        {
            string strResponse;

            try
            {
                var req = (HttpWebRequest)WebRequest.Create(webParams.url);
                req.Method = "GET";
                if (!string.IsNullOrWhiteSpace(webParams.contentType))
                {
                    req.ContentType = webParams.contentType;
                }

                if (webParams.headers != null && webParams.headers.Any())
                {
                    foreach (var header in webParams.headers)
                    {
                        req.Headers.Add(header.name, header.value);
                    }
                }

                var res = req.GetResponse();

                var inputStream = res.GetResponseStream();
                if (inputStream != null)
                {
                    using (var inputStreamReader = new StreamReader(inputStream))
                    {
                        strResponse = inputStreamReader.ReadToEnd();
                        inputStreamReader.Close();
                    }
                }
                else
                {
                    strResponse = string.Empty;
                }

                result = true;
            }
            catch (Exception ex)
            {
                result      = false;
                strResponse = ex.ToString();
                this.logger.Error("Post error: ", ex);
            }

            return(strResponse);
        }
コード例 #2
0
        /// <summary>
        /// The convert to PDF.
        /// </summary>
        /// <param name="dto">
        /// The DTO.
        /// </param>
        /// <returns>
        /// The <see cref="string"/>.
        /// </returns>
        public string Proxy(WebRequestDTO dto)
        {
            var  webProxyModel = this.WebProxyModel;
            bool success;

            ServicePointManager.Expect100Continue = false;
            var res = dto.isGetMethod ? webProxyModel.Get(dto, out success) : webProxyModel.Post(dto, out success);

            if (success)
            {
                return(res);
            }

            var error = new Error(Errors.CODE_ERRORTYPE_REQUEST_NOT_PROCESSED, "WebError", "Web request failed", res);

            this.LogError("Social.Proxy", error);
            throw new FaultException <Error>(error, error.errorMessage);
        }
コード例 #3
0
        /// <summary>
        /// The post.
        /// </summary>
        /// <param name="webParams">
        /// The web parameters.
        /// </param>
        /// <param name="result">
        /// The result.
        /// </param>
        /// <returns>
        /// The <see cref="string"/>.
        /// </returns>
        public string Post(WebRequestDTO webParams, out bool result)
        {
            string strResponse = string.Empty;

            try
            {
                var req = (HttpWebRequest)WebRequest.Create(webParams.url);
                req.KeepAlive   = false;
                req.Method      = "POST";
                req.ContentType = string.IsNullOrWhiteSpace(webParams.contentType)
                                      ? "application/json"
                                      : webParams.contentType;
                req.ContentLength = webParams.data.Length;
                if (webParams.headers != null && webParams.headers.Any())
                {
                    foreach (var header in webParams.headers)
                    {
                        req.Headers.Add(header.name, header.value);
                    }
                }

                using (var outStream = new StreamWriter(req.GetRequestStream(), Encoding.ASCII))
                {
                    outStream.Write(webParams.data);
                    outStream.Close();

                    var res         = req.GetResponse();
                    var inputStream = res.GetResponseStream();
                    if (inputStream != null)
                    {
                        using (var inputStreamReader = new StreamReader(inputStream))
                        {
                            strResponse = inputStreamReader.ReadToEnd();
                            inputStreamReader.Close();
                        }
                    }
                    else
                    {
                        strResponse = string.Empty;
                    }
                }

                result = true;
            }
            catch (WebException ex)
            {
                result = false;
                try
                {
                    var inputStream = ex.Response.GetResponseStream();
                    if (inputStream != null)
                    {
                        using (var inputStreamReader = new StreamReader(inputStream))
                        {
                            strResponse = inputStreamReader.ReadToEnd();
                            inputStreamReader.Close();
                        }
                    }
                    else
                    {
                        strResponse = string.Empty;
                    }

                    this.logger.Error("Post web error: " + strResponse);
                }
                catch (Exception ex2)
                {
                    this.logger.Error("Post web error: ", ex2);
                }
            }
            catch (Exception ex)
            {
                result      = false;
                strResponse = ex.ToString();
                this.logger.Error("Post error: ", ex);
            }

            return(strResponse);
        }