首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HttpClient发布简单的应用程序接口

使用HttpClient发布简单的应用程序接口
EN

Stack Overflow用户
提问于 2017-11-25 04:22:06
回答 0查看 475关注 0票数 0

我正在尝试使用他们的API从coinfloor那里获得平衡,虽然我能够成功地解析他们的未认证/公共get响应,但我在发送带有额外参数的认证的私有POST请求时遇到了麻烦。

目前,我得到的是StatusCode: 401,ReasonPhrase:'Unauthorized‘

代码语言:javascript
复制
  class Program
    {
        static HttpClient client = new HttpClient();

    static void Main()
        {
            RunAsync().Wait();
        }

        static async Task RunAsync()
        {
            client.BaseAddress = new Uri("https://webapi.coinfloor.co.uk:8090/bist/XBT/GBP/balance/");
            client.DefaultRequestHeaders.Authorization= new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "userID/apikey", "passphrase"))));

            var content = new FormUrlEncodedContent(new[]
                    {
                       new KeyValuePair<string, string>("User ID","userid"),
                       new KeyValuePair<string, string>("API key","apikey"),
                       new KeyValuePair<string, string>("Passphrase","pass")

                    });
            try
            {

                   var result = await client.PostAsync("https://webapi.coinfloor.co.uk:8090/bist/XBT/GBP/balance/", content);
                   string resultContent = await result.Content.ReadAsStringAsync();

             }

我已经尝试使用默认的authorization headers和使用FormUrlEncodedContent发送数据。他们的documentation说“所有的私有API调用都需要认证,你需要提供3个参数来认证一个请求:用户ID,API key,密码。”

不确定我做错了什么?

我应该如何在请求中发送其他额外的参数?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47479566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档