zoukankan      html  css  js  c++  java
  • C# HttpClient发送请求获取接口数据

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Carton.Client.Unity;
    using System.Web;
    using System.Net;
    using Newtonsoft.Json; 
    using Newtonsoft.Json.Linq;
    
    namespace Carton.Client.Service
    {
        public interface IClientHttp
        {
            
            Task<string> POST(string apirout, string parameterjson);
    
    
            Task<string> GET(string apirout, Dictionary<string,string> parameters);
    
    }
    public class ClientHttpService :IClientHttp { private System.Net.Http.HttpClient _client = null; public ClientHttpService(System.Net.Http.HttpClient client) { _client = client; _client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); } public Task<string> GET(string apiroute, Dictionary<string,string> parameters) { if (Unity.GlobalModule.AuthStorage != null) { _client.DefaultRequestHeaders.Add("token", Unity.GlobalModule.AuthStorage.Token); } string baseurl = System.Configuration.ConfigurationManager.AppSettings["apiurl"]; foreach(var para in parameters) { apiroute = apiroute.Replace("{"+para.Key+"}",para.Value); } var getresult =_client.GetStringAsync(baseurl + apiroute); var r = getresult.Result; return getresult; } public Task<string> POST(string apiroute, string parameterjson) { if (Unity.GlobalModule.AuthStorage != null) { _client.DefaultRequestHeaders.Add("token", Unity.GlobalModule.AuthStorage.Token); } string baseurl = System.Configuration.ConfigurationManager.AppSettings["apiurl"]; string parastr = string.Empty; System.Net.Http.StringContent content = new System.Net.Http.StringContent(parameterjson); content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var postresult = _client.PostAsync(baseurl + apiroute , content); var msgbody = postresult.Result.Content.ReadAsStringAsync(); return msgbody; } } }
    public class Auth_UserService : IBll.Sys.IAuth_User
        {
            private IClientHttp _client = null;
    
            public Auth_UserService(IClientHttp client)
            {
                _client = client;
            }
            /// <summary>
            /// 添加用户
            /// </summary>
            /// <param name="user"></param>
            /// <returns></returns>
            public OResult<bool> Add(UserNew user)
            {
                var parajson = JsonConvert.SerializeObject(user);
    
                var result = _client.POST(Core.APIRoute.auth_addnew, parajson);
    
                return JsonConvert.DeserializeObject<OResult<bool>>(result.Result);
            }
    }
  • 相关阅读:
    mysql详解9:触发器和事件
    mysql详解7:视图
    mysql详解6:字符串函数 日期函数 IF CASE
    mysql详解5:复杂查询
    [转]Kubernetes网络组件之Calico策略实践(BGP、RR、IPIP)
    Springcloud 学习笔记05-Mybatis-Plus
    Git学习笔记04--tortoisegit的clone、pull、commit操作、分支的新增、合并、删除
    Git学习笔记03--Git客户端(TortoiseGit)安装与基本使用
    Java 项目bug记录过程--Failed to configure a DataSource
    TiDB学习笔记02-场景案例综述
  • 原文地址:https://www.cnblogs.com/netlock/p/13339418.html
Copyright © 2011-2022 走看看