当前位置: 代码迷 >> 综合 >> Get和Post两种方式api请求
  详细解决方案

Get和Post两种方式api请求

热度:97   发布时间:2023-10-01 03:54:46.0
因为经常要用到就在这做个笔记,下次用到的时候就可以直接使用不用去找了。
Get方式请求api
  public dynamic ResultApiGet(string https, string strContent){HttpWebRequest request = (HttpWebRequest)WebRequest.Create(https + strContent);request.Method = "GET";request.ContentType = "textml;charset=UTF-8";HttpWebResponse response = (HttpWebResponse)request.GetResponse();Stream myResponseStream = response.GetResponseStream();StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);string retString = myStreamReader.ReadToEnd();myStreamReader.Close();myResponseStream.Close();dynamic ja = JsonConvert.DeserializeObject(retString);return ja;}
Post方式请求api
 public dynamic ResultApiPost(string https, string strContent){HttpWebRequest request = (HttpWebRequest)WebRequest.Create(https);request.Method = "POST";request.ContentType = "application/json";using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream())){dataStream.Write(strContent);dataStream.Close();}HttpWebResponse response = (HttpWebResponse)request.GetResponse();string encoding = response.ContentEncoding;if (encoding == null || encoding.Length < 1){encoding = "UTF-8"; //默认编码  }StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));string retString = reader.ReadToEnd();//解析json dynamic ja = JsonConvert.DeserializeObject(retString);return ja;}
两种方式中的参数https就是api的地址,strContent就是请求时传的参数,通过自己拼接字符串构成,如下:
StringBuilder strContent = new StringBuilder();
strContent.Append("?PageIndex= " + input.SkipCount + "&PageSize=" + input.MaxResultCount + "&ShangHu_subType= " + input.ShangHu_subType);


  相关解决方案