private static IRestResponse <T> GetApiInfo(apiurl requesturl, string url, object pars, RestSharp.Method type, string Token = "", string ContentType = "") { var request = new RestRequest(type); if (pars != null) { request.AddObject(pars); } if (!ContentType.IsEmpty()) { request.AddHeader("Content-Type", "application/json; charset=utf-8"); } string baseutl = BaseConfigModel.Configuration[$"weburl:{requesturl.ToString()}"] + url; var client = new RestClient(baseutl); /* * 判断Token是否为,是否需要添加验证 */ if (!Token.IsEmpty()) { request.AddHeader("Authorization", Token); } client.CookieContainer = new System.Net.CookieContainer(); IRestResponse <T> reval = client.Execute <T>(request); if (reval.ErrorException != null) { // PubMethod.WirteExp(new Exception(reval.Content)); throw new Exception("请求出错"); } return(reval); }
public T Put(apiurl requesturl, string url, object pars, string Token = "") { var type = RestSharp.Method.PUT; IRestResponse <T> reval = GetApiInfo(requesturl, url, pars, type, Token); return(reval.Data); }
public static string CreateGetHttpResponse(apiurl apiurl, string url, IDictionary <string, object> parameters, string token = "") { StringBuilder buffer = new StringBuilder(); bool first = true; foreach (string key in parameters.Keys) { if (!first) { buffer.AppendFormat("&{0}={1}", key, parameters[key]); } else { buffer.AppendFormat("{0}={1}", key, parameters[key]); first = false; } } url = url + "?" + buffer.ToString(); HttpWebRequest request = WebRequest.Create(BaseConfigModel.Configuration[$"weburl:{apiurl.ToString()}"] + url) as HttpWebRequest;//创建请求对象 request.Method = "GET"; request.ContentType = "application/x-www-form-urlencoded";//链接类型 return(GetResponseString((HttpWebResponse)request.GetResponse())); }
public T Get(apiurl requesturl, string url, object pars, string Token = "", bool _bool = false) { var type = RestSharp.Method.GET; IRestResponse <T> reval = GetApiInfo(requesturl, url, pars, type, Token); return(reval.Data); }
// <summary> /// 发送http post请求 </summary> <param name="url">地址</param> <param /// name="parameters">查询参数集合</param> <returns></returns> public static string CreatePostHttpResponse(apiurl _apiurl, string url, string parameters, string token = "") { HttpWebRequest request = WebRequest.Create(BaseConfigModel.Configuration[$"weburl:{ _apiurl.ToString()}"] + url) as HttpWebRequest; //创建请求对象 request.Method = "POST"; //请求方式 request.ContentType = "application/json"; //链接类型 if (!string.IsNullOrEmpty(token)) { request.Headers.Add("Authorization", token);//构造查询字符串 } byte[] data = Encoding.UTF8.GetBytes(parameters.ToString()); //写入请求流 using (Stream stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } return(GetResponseString((HttpWebResponse)request.GetResponse())); }