public static string HttpPost(string url, string body, string token=null)
{
try
{
Encoding encoding = Encoding.UTF8;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.Accept = "text/html,application/xhtml+xml,*/*";
request.ContentType = "application/json";
request.Headers.Add("AUTH_TOKEN", token);
byte[] buffer = encoding.GetBytes(body);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
return reader.ReadToEnd();
}
}
catch (Exception ex)
{
LogHelper.error(ex.Message.ToString());
throw;
}
}
public static string HttpGet(string url,string token= null)
{
try
{
Encoding encoding = Encoding.UTF8;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.Accept = "text/html,application/xhtml+xml,*/*";
request.ContentType = "application/json";
request.Headers.Add("AUTH_TOKEN", token);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
return reader.ReadToEnd();
}
}
catch (Exception ex)
{
LogHelper.error(ex.Message.ToString());
throw;
}
}
接受数据处理
一般接受过来的json数据格式是这样子的
{
"code":200,
"msg":"成功!",
"data":{
"user":{
"id":001,
"name":"xq"
}
}
}
所以我建立了一个类来接受
public class ApiResult
{
public int code { get; set; }
public string msg { get; set; }
public object data { get; set; }
}
string ss = WebApiRevice.HttpPost(url, JsonConvert.SerializeObject(data), token);
ApiResult apiResult=JsonConvert.DeserializeObject<ApiResult>(ss);
data数据我们可以做这样子的处理,之后获取自己想要的数据比如我需要一个用户数据
JObject jobj = JObject.Parse(apiResult.data.ToString());
User user=JsonConvert.DeserializeObject<User>(jobj["user"].ToString());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】