httpclient - 如何设置具有基本授权的 Windows.Web.Http.HttpClient PostAsync++

标签 httpclient uwp

除了 Json 中的键/值对之外,如何设置具有基本授权和媒体类型的 Windows.Web.Http.HttpClient PostAsync?

我找不到任何关于如何执行此操作的好的文档或示例。

这些官方网站提供的有关如何解决此问题的文档非常少: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.web.http.httpclient.aspx

感谢帮助!谢谢!

最佳答案

我找到了一个适合我的解决方案:

        Dictionary<string, string> pairs = new Dictionary<string, string>();
        pairs.Add("client_id", Constants.CLIENT_ID);
        pairs.Add("grant_type", "authorization_code");
        pairs.Add("code", code);
        var formContent = new HttpFormUrlEncodedContent(pairs);

        var base64Creds = Convert.ToBase64String(System.Text.UTF8Encoding.UTF8.GetBytes(string.Format("{0}:{1}", Constants.CLIENT_ID, Constants.CLIENT_SECRET)));

        var httpFilter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
        httpFilter.CacheControl.ReadBehavior = Windows.Web.Http.Filters.HttpCacheReadBehavior.MostRecent;
        var client = new HttpClient(httpFilter);

        client.DefaultRequestHeaders.Authorization = new HttpCredentialsHeaderValue("Basic", base64Creds);

        HttpResponseMessage response = await client.PostAsync(new Uri(Constants.GET_TOKEN_URL), formContent);
        client.Dispose();

关于httpclient - 如何设置具有基本授权的 Windows.Web.Http.HttpClient PostAsync++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37435318/

相关文章:

Apache HTTP 客户端 javax.net.ssl.SSLPeerUnverifiedException : peer not authenticated

c# - 如何使用 LaunchUriForResultAsync 在全屏模式下启动另一个应用程序?

java - 在我的应用程序中硬编码我的 keystore 的密码可以吗?

c# - 值 'XXX.yyyyy' 的格式无效

java - Google Analytics 中没有事件跟踪

c# - 同步返回 IAsyncOperation<TResult> 的 Run 方法

c# - 在设置另一个VisualState之后,如何维护VisualState触发器所做的更改?

c# - 如何在 UserControl 中使用绑定(bind)的 XAML 属性?

c# - 找不到名称/键 X 的资源

Android 应用程序的缓存