Exemplo n.º 1
0
        /// <summary>
        /// HttpGetAsync
        /// </summary>
        /// <param name="getUrl"></param>
        /// <param name="contentType"></param>
        /// <returns></returns>
        public static async Task <string> HttpGetAsync(string getUrl, HttpWebRequestContentType contentType)
        {
            Stream         myResponseStream = null;
            StreamReader   myStreamReader   = null;
            HttpWebRequest request          = (HttpWebRequest)WebRequest.Create(getUrl);

            request.Method      = "GET";
            request.ContentType = EnumHelper.GetExtendValue(contentType);
            try
            {
                var response = await request.GetResponseAsync();

                myResponseStream = response.GetResponseStream();
                myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string retString = myStreamReader.ReadToEnd();
                return(retString);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                myStreamReader.Close();
                myResponseStream.Close();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Post 处理状态码不是200返回的数据
        /// </summary>
        /// <param name="postUrl"></param>
        /// <param name="paramData"></param>
        /// <param name="contentType"></param>
        /// <returns></returns>
        public static string HttpPostNot200(string postUrl, string paramData, HttpWebRequestContentType contentType)
        {
            string          ret       = string.Empty;
            HttpWebResponse response  = null;
            StreamReader    sr        = null;
            Stream          newStream = null;

            try
            {
                byte[]         byteArray = Encoding.UTF8.GetBytes(paramData); //转化成二进制流
                HttpWebRequest webReq    = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));
                webReq.Method        = "POST";
                webReq.ContentType   = EnumHelper.GetExtendValue(contentType); //ApplicationJSON类型
                webReq.Timeout       = 15000;                                  //响应时间
                webReq.ContentLength = byteArray.Length;

                newStream = webReq.GetRequestStream();
                newStream.Write(byteArray, 0, byteArray.Length);//写入参数
                newStream.Close();

                response = (HttpWebResponse)webReq.GetResponse();
                sr       = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                ret      = sr.ReadToEnd();
            }
            catch (WebException e)
            {
                using (WebResponse response_ = e.Response)
                {
                    HttpWebResponse httpResponse = (HttpWebResponse)response_;
                    //Console.WriteLine(e);
                    if (response_ == null)
                    {
                        return(e.ToString());
                    }
                    using (Stream data = response_.GetResponseStream())
                        using (var reader = new StreamReader(data))
                        {
                            string text = reader.ReadToEnd();
                            // Console.WriteLine(text);
                            return(text);
                        }
                }
            }
            finally
            {
                if (newStream != null)
                {
                    newStream.Close();
                }
                if (response != null)
                {
                    response.Close();
                }
                if (sr != null)
                {
                    sr.Close();
                }
            }
            return(ret);
        }
Exemplo n.º 3
0
        /// <summary>
        /// put
        /// </summary>
        /// <param name="postUrl"></param>
        /// <param name="paramData"></param>
        /// <param name="contentType"></param>
        /// <returns></returns>
        public static string HttpDelete(string postUrl, string paramData, HttpWebRequestContentType contentType, string token = "", string domain = "")
        {
            string          ret       = string.Empty;
            HttpWebResponse response  = null;
            StreamReader    sr        = null;
            Stream          newStream = null;

            try
            {
                byte[]         byteArray = Encoding.UTF8.GetBytes(paramData); //转化成二进制流
                HttpWebRequest webReq    = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));
                webReq.Method        = "DELETE";
                webReq.ContentType   = EnumHelper.GetExtendValue(contentType); //ApplicationJSON类型
                webReq.Accept        = EnumHelper.GetExtendValue(contentType); //ApplicationJSON类型
                webReq.Timeout       = 5000;                                   //响应时间
                webReq.ContentLength = byteArray.Length;
                if (token != "" && domain != "")
                {
                    webReq.CookieContainer = new CookieContainer();
                    webReq.CookieContainer.Add(new Cookie("token", token, "/", domain));
                }
                newStream = webReq.GetRequestStream();
                newStream.Write(byteArray, 0, byteArray.Length);//写入参数
                newStream.Close();

                response = (HttpWebResponse)webReq.GetResponse();
                sr       = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                ret      = sr.ReadToEnd();
            }
            catch (System.Exception ex)
            {
                var strt = ex.Message;
                //throw ex;
            }
            finally
            {
                if (newStream != null)
                {
                    newStream.Close();
                }
                if (response != null)
                {
                    response.Close();
                }
                if (sr != null)
                {
                    sr.Close();
                }
            }
            return(ret);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Delete
        /// </summary>
        /// <param name="getUrl"></param>
        /// <param name="contentType"></param>
        /// <returns></returns>
        public static string HttpDelete(string getUrl, HttpWebRequestContentType contentType)
        {
            Stream         myResponseStream = null;
            StreamReader   myStreamReader   = null;
            HttpWebRequest request          = (HttpWebRequest)WebRequest.Create(getUrl);

            request.Method      = "DELETE";
            request.ContentType = EnumHelper.GetExtendValue(contentType);
            if (cookies != null)
            {
                request.CookieContainer = new CookieContainer();
                request.CookieContainer.Add(cookies);
            }
            try
            {
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                myResponseStream = response.GetResponseStream();
                myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string retString = myStreamReader.ReadToEnd();
                return(retString);
            }
            catch (Exception ex)
            {
                //throw ex;远程服务器返回错误: (404) 未找到。
                return(ex.Message);
                //return "";
            }
            finally
            {
                if (myStreamReader != null)
                {
                    myStreamReader.Close();
                    myResponseStream.Close();
                }
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get
        /// </summary>
        /// <param name="getUrl"></param>
        /// <param name="contentType"></param>
        /// <returns></returns>
        public static string Http401Get(string getUrl, HttpWebRequestContentType contentType)
        {
            Stream         myResponseStream = null;
            StreamReader   myStreamReader   = null;
            HttpWebRequest request          = (HttpWebRequest)WebRequest.Create(getUrl);

            request.Method      = "GET";
            request.ContentType = EnumHelper.GetExtendValue(contentType);
            try
            {
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                myResponseStream = response.GetResponseStream();
                myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string retString = myStreamReader.ReadToEnd();
                return(retString);
            }
            catch (WebException ex)
            {
                //throw ex;远程服务器返回错误: (404) 未找到。
                var response = (HttpWebResponse)ex.Response;
                myResponseStream = response.GetResponseStream();
                myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string retString = myStreamReader.ReadToEnd();

                return(retString);
                //return "";
            }
            finally
            {
                if (myStreamReader != null)
                {
                    myStreamReader.Close();
                    myResponseStream.Close();
                }
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 异步带返回值Post
        /// </summary>
        /// <param name="url"></param>
        /// <param name="postData"></param>
        /// <param name=""></param>
        /// <param name="contentType"></param>
        /// <returns></returns>
        public static async Task <string> HttpPostUsingAsync(string url, string postData, HttpWebRequestContentType contentType)
        {
            byte[]         byteArray = Encoding.UTF8.GetBytes(postData);
            HttpWebRequest request   = (HttpWebRequest)WebRequest.Create(url);

            request.Method        = "POST";
            request.ContentType   = EnumHelper.GetExtendValue(contentType);
            request.ContentLength = byteArray.Length;
            request.Timeout       = 3000;
            using (Stream myRequestStream = await request.GetRequestStreamAsync())
            {
                myRequestStream.Write(byteArray, 0, byteArray.Length);
                WebResponse  response       = request.GetResponse();
                StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
                return(myStreamReader.ReadToEnd());
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 异步带返回值Post
        /// </summary>
        /// <param name="postUrl"></param>
        /// <param name="paramData"></param>
        /// <param name="contentType"></param>
        /// <returns></returns>
        public static async Task <string> HttpPostAsync(string postUrl, string paramData, HttpWebRequestContentType contentType)
        {
            string          ret       = string.Empty;
            HttpWebResponse response  = null;
            StreamReader    sr        = null;
            Stream          newStream = null;

            try
            {
                byte[]         byteArray = Encoding.UTF8.GetBytes(paramData); //转化
                HttpWebRequest webReq    = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));
                webReq.Method        = "POST";
                webReq.ContentType   = EnumHelper.GetExtendValue(contentType);
                webReq.Timeout       = 4000;
                webReq.ContentLength = byteArray.Length;

                newStream = webReq.GetRequestStream();
                newStream.Write(byteArray, 0, byteArray.Length);//写入参数
                newStream.Close();

                Stream tempStream = await webReq.GetRequestStreamAsync();

                sr  = new StreamReader(tempStream, Encoding.UTF8);
                ret = sr.ReadToEnd();
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (newStream != null)
                {
                    newStream.Close();
                }
                if (response != null)
                {
                    response.Close();
                }
                if (sr != null)
                {
                    sr.Close();
                }
            }
            return(ret);
        }