精华内容
下载资源
问答
  • RestSharp
    2019-03-26 09:33:23
    using RestSharp;
    using System.Collections;
    using System.Collections.Generic;
    using System.Net;
    using System.Text;
    using UnityEngine;
    using UnityEngine.UI;
    /*
     必须先获取令牌得到Token才能进行其他操作
    
         
         
         */
     /// <summary>
     /// Paypal支付相关方法
     /// </summary>
    public class PostHttp : MonoBehaviour {
    
    	// Use this for initialization
    	void Start () {
            string body = string.Format("\"id\":\"{0}\",\"description\":\"{1}\",\"amount\":\"{2}\",\"price\":\"{3}\",\"currency\":\"{4}\"", 1108662629729079296, "上山打老虎", 3, 0.2, "USD");
            body = "{" + body + "}";
    
            Debug.Log(body);
            Debug.Log("{\"id\":\"1108662629729079296\",\"description\":\"上山打老虎\",\"amount\":\"3\",\"price\":\"0.2\",\"currency\":\"USD\"}");
        }
    
        /*1:充值接口
    
      请求:
      Url:          http://domain/v1/recharge
      Method:      POST
      请求体:      {
    “userId”:””,      //游戏账户ID
                   “id”:””,          //充值策略ID
                   “amount”:””,     //游戏积分数量,指的是该策略的积分数量
                   “price”:””,        //策略单价,指的是充值该策略一次的钱
                   “currency”:”USD”,     //货币单位,目前仅支持USD
                   “rechargeNumber”:””,  //充值数量,指的是充值该策略多少次
                   }
      响应:
      状态:       成功200 , 其它失败
      ContentType:  text/plain
      响应体:     paypal支付url,在浏览器中打开开始支付
             */
        /// <summary>
        /// 充值接口方法
        /// </summary>
        /// <param name="userId">游戏账户ID</param>
        /// <param name="id">充值策略ID</param>
        /// <param name="amount">游戏积分数量,指的是该策略的积分数量</param>
        /// <param name="price">策略单价,指的是充值该策略一次的钱</param>
        /// <param name="currency">货币单位,目前仅支持USD</param>
        /// <param name="rechargeNumber">充值数量,指的是充值该策略多少次</param>
        private void PayPalClick(string userId,string id,string amount,string price, string rechargeNumber, string currency="USD")
        {
    
            //获取令牌
            string token = GetToken();
            //创建策略
            var client = new RestClient("http://xxx.xx.xx.33:8080/v1/recharge");
            var request = new RestRequest(Method.POST);
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("Authorization", "bearer " + token);
            request.AddHeader("Content-Type", "text/plain");
            //先去掉头尾的括号待会再加上
            string body = string.Format("\n\t\"userId\": \"{0}\",\n    \"id\": \"{1}\",\n    \"amount\": \"{2}\",\n    \"price\": \"{3}\",\n    \"currency\": \"{4}\",\n    \"rechargeNumber\": \"{5}\"\n",
                userId,id,amount,price, currency, rechargeNumber);
            body = "{" + body + "}";
            /*
            请求体: {
                   “userId”:””,      //游戏账户ID
                   “id”:””,          //充值策略ID
                   “amount”:””,     //游戏积分数量,指的是该策略的积分数量
                   “price”:””,        //策略单价,指的是充值该策略一次的钱
                   “currency”:”USD”,     //货币单位,目前仅支持USD
                   “rechargeNumber”:””,  //充值数量,指的是充值该策略多少次
                   }
             */
    
            request.AddParameter("undefined", body, ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
    
        }
    
        /// <summary>
        /// 充值接口方法直接按钮调用
        /// </summary>
        public void PayPalClick()
        {
    
        }
    
    
        /* 2:充值策略接口    
          请求:
          Url:          http://domain/v1/rechargePolicy
          Method:      POST
          请求体:      {
        “description”:””,      //策略描述
                       “amount”:””,     //游戏积分数量,指的是该策略的积分数量
                       “price”:””,        //策略单价,指的是充值该策略一次的钱
                       “currency”:”USD”,     //货币单位,目前仅支持USD 
                       }
          响应:
          状态:       成功200 , 其它失败
          ContentType:  text/plain
          响应体:     新建策略的ID*/
        /// <summary>
        /// 创建充值策略接口
        /// </summary>
        /// <param name="description">策略描述</param>
        /// <param name="amount">游戏积分数量,指的是该策略的积分数量</param>
        /// <param name="price">策略单价,指的是充值该策略一次的钱</param>
        /// <param name="currency">货币单位,目前仅支持USD </param>
        private void CreateClick(string description,string amount,string price,string currency = "USD")
        {
            //获取令牌
            string token = GetToken();
            //创建策略
            var client = new RestClient("http://xxx.xx.1xx.33:8080/v1/rechargePolicy");
            var request = new RestRequest(Method.POST);
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("Authorization", "bearer " + token);
            request.AddHeader("Content-Type", "text/plain");
    
            string body = string.Format("\n\t\"description\": \"{0}\",\n    \"amount\": \"{1}\",\n    \"price\": \"{2}\",\n    \"currency\": \"{3}\"\n",description,amount,price,currency);
            body = "{" + body + "}";
            request.AddParameter("undefined", body, ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            Debug.Log(response.Content);
        }
    
        /// <summary>
        /// 创建充值策略接口直接按钮调用
        /// </summary>
        public void CreateClick()
        {
    
        }
    
        /* 3:更新策略接口
    
      请求:
      Url:          http://domain/v1/rechargePolicy
      Method:      PATCH
      请求体:      {
                   “id”:””,            //要更新的策略的ID
    “description”:””,      //策略描述
                   “amount”:””,     //游戏积分数量,指的是该策略的积分数量
                   “price”:””,        //策略单价,指的是充值该策略一次的钱
                   “currency”:”USD”     //货币单位,目前仅支持USD 
                   }
      响应:
      状态:       成功200 , 其它失败
      响应体:     空
      */
        /// <summary>
        /// 更新策略接口方法参数调用
        /// </summary>
        /// <param name="id">要更新的策略的ID</param>
        /// <param name="description">策略描述</param>
        /// <param name="amount">游戏积分数量,指的是该策略的积分数量</param>
        /// <param name="price">策略单价,指的是充值该策略一次的钱</param>
        /// <param name="currency">货币单位,目前仅支持USD</param>
        private void UpdateClick(string id,string description, string amount, string price, string currency = "USD")
        {
            //获取令牌
            string token = GetToken();
            //更新策略
            var client = new RestClient("http://xxx.xx.xx.xx:8080/v1/rechargePolicy");
            var request = new RestRequest(Method.PATCH);
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Authorization", "bearer " + token);
    
            string body = string.Format("\"id\":\"{0}\",\"description\":\"{1}\",\"amount\":\"{2}\",\"price\":\"{3}\",\"currency\":\"{4}\"",id, description, amount, price, currency);
            body = "{" + body + "}";
    
            //转义字符\"    双引号
            request.AddParameter("undefined", "{\"id\":\"1108662629729079296\",\"description\":\"上山打老虎\",\"amount\":\"3\",\"price\":\"0.2\",\"currency\":\"USD\"}", ParameterType.RequestBody);
         
            IRestResponse response = client.Execute(request);
            Debug.Log(response.Content);
    
        }
    
        /// <summary>
        /// 更新策略接口方法
        /// </summary>
        public void UpdateClick()
        {
    
        }
    
        /* 4:删除策略接口
      请求:
      Url:          http://domain/v1/rechargePolicy/{id}
                                       (路径变量,策略ID)
      Method:      DELETE
      请求体:      空
      响应:
      状态:       成功200 , 其它失败
      响应体:     空
    */
        /// <summary>
        /// 删除策略接口方法
        /// </summary>
        /// <param name="tokenId">要删除的策略id</param>
        private void DeleteClick(string tokenId)
        {
            //获取令牌
            string token = GetToken();
            //删除枚举
            string url = string.Format("http://xxx.xx.xx.xx:8080/v1/rechargePolicy/{0}", tokenId);
            var client = new RestClient(url);
            var request = new RestRequest(Method.DELETE);
            request.AddHeader("Authorization", "bearer " + token);
            IRestResponse response = client.Execute(request);
            Debug.Log(response.Content);
    
        }
        /// <summary>
        /// 封装删除策略接口方法
        /// </summary>
        public void DeleteClick()
        {
    
        }
    
        /* 5:枚举策略接口
    
      请求:
      Url:          http://domain/v1/rechargePolicy
      Method:      GET
      请求体:      空
      响应:
      状态:       成功200 , 其它失败
      ContentType:  application/json
      响应体:     [{
                   “id”:””,
    “description”:””,
                   “amount”:””,
                   “price”:””,
                   “currency”:”USD” 
                   },…]
    */
        /// <summary>
        /// 枚举策略接口
        /// </summary>
        public void AllTokenClick()
        {
            //获取令牌
            string token = GetToken();
             //策略枚举
             var client = new RestClient("http://xx.xx.xx.33:8080/v1/rechargePolicy");
            var request = new RestRequest(Method.GET);
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Authorization", "bearer "+ token);
            IRestResponse response = client.Execute(request);
            Debug.Log(response.Content);
        }
    
      
        /* 6:查询单个策略接口
    
      请求:
      Url:          http://domain/v1/rechargePolicy/{id}
                                       (路径变量,策略ID)
    Method:      GET
      请求体:      空
      响应:
      状态:       成功200 , 其它失败
      ContentType:  application/json
      响应体:     {
                   “id”:””,
    “description”:””,
                   “amount”:””,
                   “price”:””,
                   “currency”:”USD” 
                   }
    */
    /// <summary>
    /// 查询单个策略接口方法
    /// </summary>
    /// <param name="tokenId">指定查询的策略id</param>
        public void SelectClick(string tokenId)
        {
            //获取令牌
            string token = GetToken();
            //策略枚举
            string url = string.Format("http://xx.xx5.xx.33:8080/v1/rechargePolicy/{0}", tokenId);
            var client = new RestClient(url);
            var request = new RestRequest(Method.GET);
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Authorization", "bearer " + token);
            IRestResponse response = client.Execute(request);
            Debug.Log(response.Content);
    
        }
    
        /// <summary>
        /// 封装查询单个策略接口
        /// </summary>
        public void SelectClick()
        {
    
        }
    
        /// <summary>
        /// 获取令牌   所有操作的基础
        /// </summary>
        public string GetToken()
        {
            var client = new RestClient("http://xxx.x5.xx.33/api/oauth/oauth/token");
            var request = new RestRequest(Method.POST);
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("Authorization", "Basic c3lzdGVtX3NlcnZpY2U6c3lzdGVtX3lmdGtfMTIzNDU2");
            request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
            request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
            request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"grant_type\"\r\n\r\npassword\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"username\"\r\n\r\nyingfuzp@126.com\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"password\"\r\n\r\nyftk123456\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            Debug.Log(response.Content);
            TokenInfo tokenInfo = JsonUtility.FromJson<TokenInfo>(response.Content);//自带解析json
            Debug.Log(tokenInfo.access_token);
    
            return tokenInfo.access_token;
    
    
        }
    
    
    
        // Update is called once per frame
        void Update () {
    		
    	}
    }
    /*
    申请令牌返回结果
           {"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NTM1MDQxNzIsInVzZXJfbmFtZSI6IjExMDc5MjMyNjg4NDI1NTMzNDUiLCJhdXRob3JpdGllcyI6WyJST0xFX01BTkFHRV9aSUxMSU9OQUlSRSJdLCJqdGkiOiI3OWViMzYwMi1jYzRmLTQ4ZjYtYmZiYy02OWRhMGI5YTYwZDYiLCJjbGllbnRfaWQiOiJzeXN0ZW1fc2VydmljZSIsInNjb3BlIjpbInNlcnZlciJdfQ.iOkDeQzM-aqnOV25bolhZ2-ziVco3qzsM4ZrQ-Iy43o",
           "token_type":"bearer",
           "refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiIxMTA3OTIzMjY4ODQyNTUzMzQ1Iiwic2NvcGUiOlsic2VydmVyIl0sImF0aSI6Ijc5ZWIzNjAyLWNjNGYtNDhmNi1iZmJjLTY5ZGEwYjlhNjBkNiIsImV4cCI6MTU1MzUwNDE3MiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9NQU5BR0VfWklMTElPTkFJUkUiXSwianRpIjoiYjczMzhmNzEtZmM5Mi00M2RhLWE0NDYtY2IyZGY2MGNmZWQzIiwiY2xpZW50X2lkIjoic3lzdGVtX3NlcnZpY2UifQ.ZaAdt4-5xg4DeGAnSuYk536cFA4eahzMcqngL5OGMGk",
           "expires_in":3599,
           "scope":"server",
           "jti":"79eb3602-cc4f-48f6-bfbc-69da0b9a60d6"}
    UnityEngine.Debug:Log(Object)
           */
    
    public class TokenInfo
    {
        public string access_token;
        public string token_type;
        public string refresh_token;
        public string expires_in;
        public string scope;
        public string jti;
    }
    

     

    更多相关内容
  • RESTSharp

    2021-03-19 00:25:09
    RESTSharp
  • c# restsharp 帮助类,c# restsharp 帮助类
  • RestSharp RestSharp.Android RestSharp.Build RestSharp.IntegrationTests RestSharp.iOS RestSharp.MonoTouch RestSharp.Net4 RestSharp.Net4.Client RestSharp.Net45 RestSharp.Net451 RestSharp.Net452 ...
  • RestSharp.dll

    2021-10-16 20:45:29
    var client = new RestClient(url); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AlwaysMultipartFormData = true; request.AddParameter("format", "JSON");...
  • RestSharp稳定版

    2020-10-23 09:15:26
    RestSharp稳定版,保证可用。本人亲自试验!dll支持4.0、3.5、net4-client、net35-client,找了很久,才发现一个真正可用的,大家注意看我发的版本。
  • RestSharp-106.13.0_dll.rar

    2021-11-21 11:27:27
    最新版RestSharp-106.13.0.dll。RestSharp是一款非常有用的REST API客户端库。RestSharp可能是.NET中最受欢迎的HTTP客户端库,具有自动序列化和反序列化,请求和响应类型检测,各种身份验证以及其他有用的功能,正在...
  • RestSharp .net3.5 vs2008.zip

    2020-09-25 16:11:53
    因为公司有个程序需要用vs2008开发,然后一直用的restsharp来实现的,但是因为vs2008版本问题,只能引用restsharp net 3.5,也就是这个。比较容易找到的4.0以上的我就不放了,需要的下载后可以私聊找我要
  • RestSharp具体以下特性;支持net4.0++,支持HTTP的GET, POST, PUT, HEAD, OPTIONS, DELETE等操作,支持oAuth 1, oAuth 2, Basic, NTLM and Parameter-based Authenticators等授权验证等。截止当前目前是github最高...
  • RestSharp反序列化 使用 RESTSharp 进行 JSON 反序列化的示例。 它演示了使用 RestSharp 将 JSON 字符串转换为使用反序列化的类对象。
  • 这是github上下载下来,然后修改的,没提交到github上,大家下载后...这样,restsharp 就会按你上面指定的那个参数来发包了。 之前发了一个,那个是没只改了乱码问题,没有修改指定参数别名的,以后大家下载这个新的
  • RestSharp最新开发包

    2018-08-02 11:37:26
    最新的restsharp,直接解压放到工程目录下即可,有用拿走
  • RestSharp 在 NuGet 上的下载量超过了 3200 万次,平均每日下载量为 10,000 次。 许多流行的 OSS 项目都在使用它,包括 Roslyn 和 Swagger。 RestSharp 的主要目的是通过 HTTP 对远程资源进行同步和异步调用。 ...
  • RestSharp.106.12.0.zip

    2021-10-11 22:14:41
    RestSharp.dll 版本106.12.0 RestSharp可能是.NET中最受欢迎的HTTP客户端库,具有自动序列化和反序列化,请求和响应类型检测,各种身份验证以及其他有用的功能,正在被成千上万的项目使用。 github下载地址:...
  • dll支持4.0、3.5、net4-client、net35-client,这里面是源码,可以根据自己需求进行编译
  • 进一步的封装RestSharp,完成RestSharpUtil帮助类,减少RestRequest的组装频率
  • 代码封装了RestSharp的部分接口方法,所提供的方法全部经过测试,含有通过RestSharp调用WebAPI的示例说明。简单好用。
  • C#发送http请求的高效工具,比原生的HttpWebRequest好用。
  • RestSharp-C# HTTP辅助类

    2020-11-03 17:23:34
    互联网上关于.NET(C#)的HTTP相关的辅助类比较多,但好用的不多,为大推荐一个.NET的HTTP辅助类,RestSharpRestSharp是一个轻量的,不依赖任何第三方的组件或者类库的Http的组件。 1、支持HTTP的GET, POST, PUT,...
  • Http辅助类组件RestSharp。使用简单,只用到RestClient和RestRequest两种类型,同时支持上传文件
  • dll支持4.0、3.5、net4-client、net35-client,找了很久,才发现一个真正可用的,大家注意看我发的版本。
  • RestSharp 在请求接口的时候,返回中文的话,一些特殊编码,比如gbk,从Response中解析出来的值会乱码,修改了一点点源代码,留一下记录以免忘记 该版本是github上,最新一个版本。下载时间是 20170821
  • 使用C#开发的WPF批量接口测试工具,具有Excel导入,sqlite缓存多种接口调用方式(RestSharp,HttpWebRequest)调用,并把结果存在本地sqlite数据库中,结果自动对比正确性,以及调用接口用时。
  • restsharp中文文档

    2018-11-28 09:14:47
    新鲜的restsharp中文文档,纯手工翻译,有需要请自行下载。
  • restsharp.7z

    2020-07-06 17:08:25
    用于restful方式的支持库,方便易用,dll 支持4.0、3.5、net4-client、net35-client
  • 自己在 unity5.3.4f1 使用的序列化插件,Android 和 ios端完美运行。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,756
精华内容 702
关键字:

RestSharp