Exemplo n.º 1
0
        public static string CallUrl(string url)
        {
            string data = string.Empty;
            HttpWebRequestMethod method = HttpWebRequestMethod.GET;

            return(CallUrl(url, data, method));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Create new instance of <see cref="HttpWebRequest"/>
 /// </summary>
 /// <param name="restUrl"></param>
 /// <param name="method"></param>
 private HttpWebRequest(HttpRestUrl restUrl, HttpWebRequestMethod method, string content = null)
 {
     this.RestUrl = restUrl ?? throw new ArgumentNullException(nameof(restUrl), "RestUrl cannot be null.");
     this.Method  = method;
     this.Content = content;
     this.InitializeRequestMessage();
 }
Exemplo n.º 3
0
        public static string PostDataToServerForFlight(string url, string data, HttpWebRequestMethod method)
        {
            HttpWebRequest request = null;

            try
            {
                //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)";
                //request.Timeout = 3000;

                switch (method)
                {
                case HttpWebRequestMethod.GET:
                    url            = string.Format("{0}?{1}", url, data);
                    request        = WebRequest.Create(url) as HttpWebRequest;
                    request.Method = HttpWebRequestMethod.GET.ToString();
                    break;

                case HttpWebRequestMethod.POST:
                {
                    request        = WebRequest.Create(url) as HttpWebRequest;
                    request.Method = HttpWebRequestMethod.POST.ToString();

                    byte[] bdata = Encoding.UTF8.GetBytes(data);
                    request.ContentType   = "application/x-www-form-urlencoded";
                    request.ContentLength = bdata.Length;

                    Stream streamOut = request.GetRequestStream();
                    streamOut.Write(bdata, 0, bdata.Length);
                    streamOut.Close();
                }
                break;
                }
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream          streamIn = response.GetResponseStream();

                StreamReader reader = new StreamReader(streamIn);
                string       result = reader.ReadToEnd();
                reader.Close();
                streamIn.Close();
                response.Close();

                return(result);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Creates and runs a request with the given HTTP parameters
        /// </summary>
        /// <param name="method">the HTTP method</param>
        /// <param name="path">the HTTP path</param>
        /// <param name="parameters">the query parameters</param>
        /// <param name="mimeType">the accept/contenttype header</param>
        /// <param name="data">the request body</param>
        /// <returns></returns>
        private ResponseWrapper GetResponse(HttpWebRequestMethod method, string path, QueryParameters parameters, string mimeType, Stream data)
        {
            HttpWebRequest request = CreateRequest(method, path, parameters, mimeType);

            if (method == HttpWebRequestMethod.POST || method == HttpWebRequestMethod.PUT)
            {
                request.ContentType = mimeType;
                data.CopyTo(request.GetRequestStream());
            }

            DebugPrintRequest(request, "<binary data>");

            //return the response wrapped
            return(DoRequest(request));
        }
Exemplo n.º 5
0
        /// <summary>
        /// 向服务器提交XML数据,如果报错,返回报错信息
        /// </summary>
        /// <param name="url">远程访问的地址</param>
        /// <param name="data">参数</param>
        /// <param name="method">Http页面请求方法</param>
        /// <returns>远程页面调用结果</returns>
        public static string PostDataToServerException(string url, string data, HttpWebRequestMethod method, int time = 5000)
        {
            HttpWebRequest request = null;

            try
            {
                request         = WebRequest.Create(url) as HttpWebRequest;
                request.Timeout = time;
                switch (method)
                {
                case HttpWebRequestMethod.GET:
                    request.Method = HttpWebRequestMethod.GET.ToString();
                    break;

                case HttpWebRequestMethod.POST:
                {
                    request.Method = HttpWebRequestMethod.POST.ToString();

                    byte[] bdata = Encoding.UTF8.GetBytes(data);
                    request.ContentType   = "application/json;charset=utf-8";
                    request.ContentLength = bdata.Length;

                    Stream streamOut = request.GetRequestStream();
                    streamOut.Write(bdata, 0, bdata.Length);
                    streamOut.Close();
                }
                break;
                }
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream          streamIn = response.GetResponseStream();

                StreamReader reader = new StreamReader(streamIn);
                string       result = reader.ReadToEnd();
                reader.Close();
                streamIn.Close();
                response.Close();

                return(result);
            }
            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
            finally
            {
            }
        }
Exemplo n.º 6
0
        private HttpWebRequest CreateRequest(HttpWebRequestMethod method, string path, QueryParameters parameters, string mimeType)
        {
            //build the URL with the given parts
            UrlBuilder url = new UrlBuilder(config.BaseURI);

            url.Path            = path;
            url.QueryParameters = parameters;

            //create a request with the given method/headers/contenttype
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url.ToString());

            request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + encodedApiKey);
            request.Accept = mimeType;
            request.Method = Enum.GetName(typeof(HttpWebRequestMethod), method);

            return(request);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Creates and runs a request with the given HTTP parameters
        /// </summary>
        /// <param name="method">the HTTP method</param>
        /// <param name="path">the HTTP path</param>
        /// <param name="parameters">the query parameters</param>
        /// <param name="mimeType">the accept/contenttype header</param>
        /// <param name="data">the request body</param>
        /// <returns></returns>
        private ResponseWrapper GetResponse(HttpWebRequestMethod method, string path, QueryParameters parameters, string mimeType, string data)
        {
            HttpWebRequest request = CreateRequest(method, path, parameters, mimeType);

            if (method == HttpWebRequestMethod.POST || method == HttpWebRequestMethod.PUT)
            {
                request.ContentType = mimeType;

                using (TextWriter writer = new StreamWriter(request.GetRequestStream()))
                {
                    writer.Write(data);
                }
            }

            DebugPrintRequest(request, data);

            //return the response wrapped
            return(DoRequest(request));
        }
Exemplo n.º 8
0
        public static string ToWebMethod(this HttpWebRequestMethod thisValue)
        {
            switch (thisValue)
            {
            case HttpWebRequestMethod.Get:
                return(WebRequestMethods.Http.Get);

            case HttpWebRequestMethod.Connect:
                return(WebRequestMethods.Http.Connect);

            case HttpWebRequestMethod.Head:
                return(WebRequestMethods.Http.Head);

            case HttpWebRequestMethod.Put:
                return(WebRequestMethods.Http.Put);

            case HttpWebRequestMethod.Post:
                return(WebRequestMethods.Http.Post);

            case HttpWebRequestMethod.Delete:
                return(MethodConstants.DELETE);

            case HttpWebRequestMethod.Options:
                return(MethodConstants.OPTIONS);

            case HttpWebRequestMethod.Trace:
                return(MethodConstants.TRACE);

            case HttpWebRequestMethod.Patch:
                return(MethodConstants.PATCH);

            case HttpWebRequestMethod.MakeCollection:
                return(WebRequestMethods.Http.MkCol);

            default:
                return(string.Empty);
            }
        }
Exemplo n.º 9
0
        public static HttpMethod ToHttpMethod(this HttpWebRequestMethod thisValue)
        {
            switch (thisValue)
            {
            case HttpWebRequestMethod.Get:
                return(HttpMethod.Get);

            case HttpWebRequestMethod.Connect:
                return(__connectMethod);

            case HttpWebRequestMethod.Head:
                return(HttpMethod.Head);

            case HttpWebRequestMethod.Put:
                return(HttpMethod.Put);

            case HttpWebRequestMethod.Post:
                return(HttpMethod.Post);

            case HttpWebRequestMethod.Delete:
                return(HttpMethod.Delete);

            case HttpWebRequestMethod.Options:
                return(HttpMethod.Options);

            case HttpWebRequestMethod.Trace:
                return(HttpMethod.Trace);

            case HttpWebRequestMethod.Patch:
                return(__patchMethod);

            case HttpWebRequestMethod.MakeCollection:
                return(__mkColMethod);

            default:
                throw new ArgumentOutOfRangeException(nameof(thisValue), thisValue, null);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 主要功能:访问远程URL
        /// </summary>
        /// <param name="url">远程访问的地址</param>
        /// <param name="data">参数</param>
        /// <param name="method">Http页面请求方法</param>
        /// <returns>远程页面调用结果</returns>
        public static string CallUrl(string url, string data, HttpWebRequestMethod method)
        {
            HttpWebRequest request = null;

            if (method == HttpWebRequestMethod.GET)
            {
                if (url.IndexOf("?") > 0)
                {
                    url = url + "&";
                }
                else
                {
                    url = url + "?";
                }
            }

            try
            {
                request = WebRequest.Create(url) as HttpWebRequest;
                //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)";
                //request.Timeout = 3000;

                switch (method)
                {
                case HttpWebRequestMethod.GET:
                    request.Method = HttpWebRequestMethod.GET.ToString();
                    break;

                case HttpWebRequestMethod.POST:
                {
                    request.Method = HttpWebRequestMethod.POST.ToString();

                    byte[] bdata = Encoding.UTF8.GetBytes(data);
                    request.ContentType   = "application/x-www-form-urlencoded;charset=utf-8";
                    request.ContentLength = bdata.Length;

                    Stream streamOut = request.GetRequestStream();
                    streamOut.Write(bdata, 0, bdata.Length);
                    streamOut.Close();
                }
                break;

                case HttpWebRequestMethod.DELETE:
                    request.Method = HttpWebRequestMethod.DELETE.ToString();
                    break;
                }
                #region
                HttpWebResponse response = null;
                try
                {
                    response = (HttpWebResponse)request.GetResponse();
                }
                catch (WebException ex)
                {
                    response = (HttpWebResponse)ex.Response;
                }

                #endregion
                Stream       streamIn = response.GetResponseStream();
                StreamReader reader   = new StreamReader(streamIn);
                string       result   = reader.ReadToEnd();
                reader.Close();
                streamIn.Close();
                response.Close();
                return(result);
            }
            catch (Exception ex)
            {
                return(string.Empty);
            }
            finally
            {
            }
        }
Exemplo n.º 11
0
        public static string CallUrl(string url, string data, HttpWebRequestMethod method, string inputCharset)
        {
            HttpWebRequest request = null;

            if (method == HttpWebRequestMethod.GET)
            {
                if (url.IndexOf("?") > 0)
                {
                    url = url + "&";
                }
                else
                {
                    url = url + "?";
                }
            }

            try
            {
                request = WebRequest.Create(url) as HttpWebRequest;
                //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)";
                //request.Timeout = 3000;

                switch (method)
                {
                case HttpWebRequestMethod.GET:
                    request.Method = HttpWebRequestMethod.GET.ToString();
                    break;

                case HttpWebRequestMethod.POST:
                {
                    request.Method = HttpWebRequestMethod.POST.ToString();

                    byte[] bdata = Encoding.GetEncoding(inputCharset).GetBytes(data);
                    request.ContentType   = string.Format("application/x-www-form-urlencoded;charset={0}", inputCharset);
                    request.ContentLength = bdata.Length;

                    using (Stream stream = request.GetRequestStream())
                    {
                        stream.Write(bdata, 0, bdata.Length);
                    }
                }
                break;

                case HttpWebRequestMethod.PUT:
                    request.Method = HttpWebRequestMethod.PUT.ToString();
                    byte[] putData = Encoding.GetEncoding(inputCharset).GetBytes(data);
                    request.ContentType   = string.Format("application/x-www-form-urlencoded;charset={0}", inputCharset);
                    request.ContentLength = putData.Length;

                    using (Stream stream = request.GetRequestStream())
                    {
                        stream.Write(putData, 0, putData.Length);
                    }
                    break;

                case HttpWebRequestMethod.DELETE:
                    request.Method = HttpWebRequestMethod.DELETE.ToString();
                    byte[] deleteData = Encoding.GetEncoding(inputCharset).GetBytes(data);
                    request.ContentType   = string.Format("application/x-www-form-urlencoded;charset={0}", inputCharset);
                    request.ContentLength = deleteData.Length;
                    using (Stream stream = request.GetRequestStream())
                    {
                        stream.Write(deleteData, 0, deleteData.Length);
                    }
                    break;
                    //default:
                    //    break;
                }

                string          strResponse = string.Empty;
                HttpWebResponse response    = request.GetResponse() as HttpWebResponse;

                using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(inputCharset)))
                {
                    strResponse = reader.ReadToEnd();
                }
                response.Close();

                return(strResponse);
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// 主要功能:访问远程URL
        /// </summary>
        /// <param name="url">远程访问的地址</param>
        /// <param name="data">参数</param>
        /// <returns>远程页面调用结果</returns>
        public static string CallUrl(string url, string data)
        {
            HttpWebRequestMethod method = HttpWebRequestMethod.POST;

            return(CallUrl(url, data, method));
        }
Exemplo n.º 13
0
        /// <summary>
        /// 向服务器提交json数据
        /// </summary>
        /// <param name="url">远程访问的地址</param>
        /// <param name="data">参数</param>
        /// <param name="method">Http页面请求方法</param>
        /// <returns>远程页面调用结果</returns>
        public static string PostDataToServer(string url, string data, HttpWebRequestMethod method, string contentType = "application/json;charset=utf-8")
        {
            HttpWebRequest request = null;

            try
            {
                request = WebRequest.Create(url) as HttpWebRequest;
                //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)";
                //request.Timeout = 3000;

                switch (method)
                {
                case HttpWebRequestMethod.GET:
                    request.Method = HttpWebRequestMethod.GET.ToString();
                    break;

                case HttpWebRequestMethod.POST:
                {
                    request.Method = HttpWebRequestMethod.POST.ToString();

                    byte[] bdata = Encoding.UTF8.GetBytes(data);
                    request.ContentType   = contentType;
                    request.ContentLength = bdata.Length;
                    Stream streamOut = request.GetRequestStream();
                    streamOut.Write(bdata, 0, bdata.Length);
                    streamOut.Close();
                }
                break;
                }
                #region 待删除
                //HttpWebResponse response = null;
                //try
                //{
                //    response = (HttpWebResponse)request.GetResponse();
                //}
                //catch (WebException ex)
                //{
                //    //response = (HttpWebResponse)ex.Response;
                //    /*********************************************************
                //     * 网络异常,如404,500等错误
                //     ********************************************************/
                //    throw;
                //}
                #endregion
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream          streamIn = response.GetResponseStream();
                StreamReader    reader   = new StreamReader(streamIn);
                string          result   = reader.ReadToEnd();
                reader.Close();
                streamIn.Close();
                response.Close();

                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }
 private static HttpWebRequest Method(this HttpWebRequest request, HttpWebRequestMethod method)
 {
     request.Method = method.ToString();
     return(request);
 }