| | |
| | | using Newtonsoft.Json.Linq; |
| | | using static System.Windows.Forms.Control; |
| | | |
| | | |
| | | namespace Gs.DevApp.ToolBox |
| | | { |
| | | /// <summary> |
| | |
| | | /// <param name="meth">方法名称</param> |
| | | /// <param name="param">参数</param> |
| | | /// <returns></returns> |
| | | public static async Task<string> HttpPostAsync(string url, string meth, string param) |
| | | { |
| | | if (string.IsNullOrEmpty(url)) |
| | | url = WebApiUrl; |
| | | url += meth; |
| | | var request = (HttpWebRequest)WebRequest.Create(url); |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.Headers.Add("token", GetBasicAuthTicket()); |
| | | request.Accept = "*/*"; |
| | | request.Timeout = 15000; |
| | | request.AllowAutoRedirect = false; |
| | | request.ServicePoint.Expect100Continue = false; |
| | | HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); |
| | | request.CachePolicy = noCachePolicy; |
| | | using (Stream requestStream = await request.GetRequestStreamAsync()) |
| | | { |
| | | byte[] dataBytes = Encoding.UTF8.GetBytes(param); |
| | | await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length); |
| | | } |
| | | //public static async Task<string> HttpPostAsync(string url, string meth, string param) |
| | | //{ |
| | | // if (string.IsNullOrEmpty(url)) |
| | | // url = WebApiUrl; |
| | | // url += meth; |
| | | // var request = (HttpWebRequest)WebRequest.Create(url); |
| | | // request.Method = "POST"; |
| | | // request.ContentType = "application/json"; |
| | | // request.Headers.Add("token", GetBasicAuthTicket()); |
| | | // request.Accept = "*/*"; |
| | | // request.Timeout = 15000; |
| | | // request.AllowAutoRedirect = false; |
| | | // request.ServicePoint.Expect100Continue = false; |
| | | // HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); |
| | | // request.CachePolicy = noCachePolicy; |
| | | // using (Stream requestStream = await request.GetRequestStreamAsync()) |
| | | // { |
| | | // byte[] dataBytes = Encoding.UTF8.GetBytes(param); |
| | | // await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length); |
| | | // } |
| | | |
| | | using (WebResponse response = await request.GetResponseAsync()) |
| | | { |
| | | using (StreamReader reader = new StreamReader(response.GetResponseStream())) |
| | | { |
| | | return await reader.ReadToEndAsync(); |
| | | } |
| | | } |
| | | } |
| | | // using (WebResponse response = await request.GetResponseAsync()) |
| | | // { |
| | | // using (StreamReader reader = new StreamReader(response.GetResponseStream())) |
| | | // { |
| | | // return await reader.ReadToEndAsync(); |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// httpPost访问服务 |
| | |
| | | /// <returns></returns> |
| | | public static string HttpPost(string url, string meth, string param) |
| | | { |
| | | if (string.IsNullOrEmpty(url)) |
| | | url = WebApiUrl; |
| | | url += meth; |
| | | var request = (HttpWebRequest)WebRequest.Create(url); |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.Headers.Add("token", GetBasicAuthTicket()); |
| | | request.Accept = "*/*"; |
| | | request.Timeout = 15000; |
| | | request.AllowAutoRedirect = false; |
| | | request.ServicePoint.Expect100Continue = false; |
| | | HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); |
| | | request.CachePolicy = noCachePolicy; |
| | | DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("拼命加载中,请稍后..."+ meth, "友情提示"); |
| | | HttpWebRequest request = null; |
| | | StreamWriter requestStream = null; |
| | | WebResponse response = null; |
| | | string responseStr = null; |
| | | try |
| | | { |
| | | if (string.IsNullOrEmpty(url)) |
| | | url = WebApiUrl; |
| | | url += meth; |
| | | request = (HttpWebRequest)WebRequest.Create(url); |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.Headers.Add("token", GetBasicAuthTicket()); |
| | | request.Accept = "*/*"; |
| | | request.Timeout = 15000; |
| | | request.AllowAutoRedirect = false; |
| | | request.ServicePoint.Expect100Continue = false; |
| | | wdf.SetCaption("加载进度(10/100)"); |
| | | HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); |
| | | request.CachePolicy = noCachePolicy; |
| | | wdf.SetCaption("加载进度(20/100)"); |
| | | requestStream = new StreamWriter(request.GetRequestStream()); |
| | | requestStream.Write(param); |
| | | requestStream.Close(); |
| | |
| | | //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); |
| | | reader.Close(); |
| | | } |
| | | wdf.SetCaption("加载进度(80/100)"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | wdf.Close(); |
| | | LogHelper.Debug(url, param + ":" + ex.Message); |
| | | throw ex; |
| | | } |
| | |
| | | requestStream = null; |
| | | response = null; |
| | | } |
| | | |
| | | wdf.SetCaption("加载进度(90/100)"); |
| | | wdf.Close(); |
| | | return responseStr; |
| | | } |
| | | |