• RestSharp发送请求得到Json数据


    NUGET安装:RestSharp

    code:

    
    

    public string Post(string url, string content)
    {
    string contentType = "application/json"; //Content-Type
    try
    {
    var client = new RestClient(url);
    var request = new RestRequest(Method.POST);
    request.Timeout = 10000;
    request.AddParameter(contentType, content, ParameterType.RequestBody);

    
    

    IRestResponse response = client.Execute(request);
    return response.Content; //返回的结果
    }
    catch (Exception ex)
    {
    return "连接服务器出错: " + ex.Message;
    }
    }


    public
    class RestClientManager { public JObject Post(string baseUrl, string url, JObject sendData) { return Post(baseUrl, url, sendData, string.Empty); } public JObject Post(string baseUrl, string url, JObject sendData, string token) { RestClient client = new RestClient(baseUrl); var request = new RestRequest(url, Method.POST); var contenType = "application/json"; request.AddHeader("Accept", contenType); if (!string.IsNullOrWhiteSpace(token)) { request.AddHeader("token", token); } if (sendData == null) { sendData = new JObject(); } request.AddParameter(contenType, sendData, ParameterType.RequestBody); var response = client.Execute(request); if (string.IsNullOrWhiteSpace(response.Content)) { return null; } return JObject.Parse(response.Content); } public JObject Get(string baseUrl, string url, JObject sendData) { return Get(baseUrl, url, sendData, string.Empty); } public JObject Get(string baseUrl, string url, JObject sendData, string token) { string parames = string.Empty; if (sendData != null) { StringBuilder datas = new StringBuilder(); foreach (var item in sendData) { datas.AppendFormat("{0}={1}", item.Key, item.Value); } parames = string.Format("?{0}", string.Join("&", datas)); } var client = new RestClient(string.Format("{0}{1}{2}", baseUrl, url, parames)); var request = new RestRequest(Method.GET); var response = client.Execute(request); return JObject.Parse(response.Content); } }

    使用:

           string baseUrl = "https://api.weixin.qq.com";
                string urlToken = @"/sns/oauth2/access_token";
                JObject paras = new JObject
                {
                    ["appid"] = "",
                    ["secret"] = "",
                    ["code"] = "",
                    ["grant_type"] = "authorization_code"
                };
                JObject objToken = new RestClientManager().Get(baseUrl, urlToken, paras);
           if (objToken["errcode"] == null)
                {
                    string access_token = objToken["access_token"].Value<string>();
                    string openid = objToken["openid"].Value<string>();
           }
  • 相关阅读:
    SpringCloud初体验:四、API GateWay 服务网关
    SpringCloud初体验:三、Feign 服务间调用(FeignClient)、负载均衡(Ribbon)、容错/降级处理(Hystrix)
    SpringCloud初体验:二、Config 统一配置管理中心
    SpringCloud初体验:一、Eureka 服务的注册与发现
    PHP 通过实现 Iterator(迭代器)接口来读取大文件文本
    SpringCloud初体验:前言
    springboot利用MockMvc测试controller控制器
    vue通过(NGINX)部署在子目录或者二级目录实践
    PHP 设计模式 原型模式(Prototype)之深/浅拷贝
    PHPstorm配置PHPunit对composer引入的php代码进行单元测试
  • 原文地址:https://www.cnblogs.com/xsj1989/p/9436017.html
Copyright © 2020-2023  润新知