c# 后端请求另一个后端
后端请求另一个后端,类似以前端请求后端。这里用到 HttpClient 类。
var _httpClient = new HttpClient();
var tokenHeader = HttpContext.Request.Headers["Authorization"].ToString(); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Authorization", tokenHeader); var parms = new { TTDH_DingS = gxb.TTDH_DingS, ShiGuDM = gxb.ShiGuDM, CPH = gxb.CPH, COLOR = gxb.Color }; string json = JsonConvert.SerializeObject(parms); var content = new StringContent(json, Encoding.UTF8, "application/json"); var dingsundata = (await _httpClient.GetAsync("http://localhost:8081/api/DingSun/ShowDSCLBaseJBInfo?TTDH_DingS=" + gxb.TTDH_DingS + "&ShiGuDM=" + gxb.ShiGuDM + "&CPH=" + gxb.CPH + "&COLOR=" + gxb.Color)); //var dingsundata = (await _httpClient.PostAsync("http://localhost:8081/api/DingSun/ShowDSCLBaseJBInfo", content)); var responseValue = await dingsundata.Content.ReadAsStringAsync(); if (dingsundata.StatusCode == System.Net.HttpStatusCode.OK) { var resftp = JsonConvert.DeserializeObject(responseValue); MessageModel<DingSunIndexPrice> obj = JsonConvert.DeserializeObject<MessageModel<DingSunIndexPrice>>(responseValue); if (obj.success) { DingSunIndexPrice dinsunPrice = obj.response; } }
还有文件流的方式
using (MemoryStream memoryStream = new MemoryStream(file)) { //file 是byte[] 流文件 var _httpClient = new HttpClient(); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Authorization", token); var content = new MultipartFormDataContent(); content.Add(new StreamContent(memoryStream, (int)memoryStream.Length), "file", fileName); var dingsundata = (await _httpClient.PostAsync(url, content)); var responseValue = await dingsundata.Content.ReadAsStringAsync(); if (dingsundata.StatusCode == System.Net.HttpStatusCode.OK) { var resftp = JsonConvert.DeserializeObject(responseValue); MessageModel<List<string>> obj = JsonConvert.DeserializeObject<MessageModel<List<string>>>(responseValue); if (obj.success) { return obj.response[0]; } else { return ""; } }
但是 同一个项目中,自己模拟前端请求是不能成功的,总会被拦截了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现