Exemple #1
0
        public static CallMsg PostEx(string url, string data)
        {
            CallMsg msg = new CallMsg();

            try
            {
                msg.beginTime = DateTime.Now;
                string         strURL  = url;
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(strURL);
                request.Proxy       = WebRequest.GetSystemWebProxy();
                request.Method      = "POST";
                request.ContentType = "application/json;charset=UTF-8";
                string paraUrlCoded = data;
                byte[] payload      = Encoding.UTF8.GetBytes(paraUrlCoded);
                request.ContentLength = payload.Length;
                Stream writer = request.GetRequestStream();
                writer.Write(payload, 0, payload.Length);
                writer.Close();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                if (response.StatusCode == HttpStatusCode.OK)//相应成功
                {
                    msg.endTime      = DateTime.Now;
                    msg.ResponseTime = (msg.endTime - msg.beginTime).TotalMilliseconds;//获取相应时间

                    System.IO.Stream s = response.GetResponseStream();

                    string       StrDate  = "";
                    string       strValue = "";
                    StreamReader Reader   = new StreamReader(s, Encoding.UTF8);
                    while ((StrDate = Reader.ReadLine()) != null)
                    {
                        strValue += StrDate + "\r\n";
                    }
                    msg.ResponseData = strValue.Trim();
                    msg.Status       = true;
                    response.Close();//关闭文件流
                }
                else
                {
                    msg.Status       = false;
                    msg.ResponseData = "500,无法连接到远程服务器";
                }
            }
            catch (Exception ex)
            {
                msg.ResponseData = "发生异常:" + ex.ToString();
                msg.Status       = false;
            }

            return(msg);
        }
Exemple #2
0
        public async static Task <CallMsg> SysnPostEx(string url, string json)
        {
            // Clear text of Output textbox
            CallMsg msg = new CallMsg();

            using (HttpClient httpClient = new HttpClient())
            {
                try
                {
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    using (var content = new StringContent(json, Encoding.UTF8, "application/json"))
                    {
                        msg.beginTime = DateTime.Now;
                        HttpResponseMessage wcfResponse = await httpClient.PostAsync(url, content);

                        msg.endTime      = DateTime.Now;
                        msg.ResponseTime = (msg.endTime - msg.beginTime).TotalMilliseconds; //获取相应时间
                        if (wcfResponse.StatusCode == HttpStatusCode.OK)                    //相应成功
                        {
                            string str = wcfResponse.Content.ReadAsStringAsync().Result;
                            msg.ResponseData = str;
                            msg.Status       = true;
                        }
                        else
                        {
                            msg.Status       = false;
                            msg.ResponseData = "500,无法连接到远程服务器";
                        }



                        //await DisplayTextResult(wcfResponse, OutputField);
                    }
                }
                catch (Exception ex)
                {
                    //NotifyUser(ex.Message);
                    msg.ResponseData = "发生异常:" + ex.ToString();
                    msg.Status       = false;
                }
                finally
                {
                }

                return(msg);
            }
        }