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); }
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); } }