首页 > 解决方案 > 有没有办法以实际上传到服务器(作为一个整体)的方式检索字符串?

问题描述

我目前正在研究 OAuth2 实现。但是,我遇到了错误 401。我的发布请求似乎有问题,应该从用户登录的公司检索访问令牌。这是我的代码:

internal void RequestAccessToken(string code)
{
    string requestBody = "grant_type="+ WebUtility.UrlEncode(GRANTTYPE)+ "&code=" + WebUtility.UrlEncode(code)+"&redirect_uri="+ WebUtility.UrlEncode(REDIRECT_URI);
    WebClient client = new WebClient();
    client.Headers.Add("Authorization",HeaderBase64Encode(CLIENT_ID, SECRETKEY));
    var response = client.UploadString("https://thewebsiteiamcallingto.com/some/api", requestBody);
    var responseString = client.OpenRead("https://thewebsiteiamcallingto.com/some/api");
}

我的问题是:

  1. 我尝试发出 POST 请求的方式有什么问题吗?
  2. 有没有办法使用 UploadString 检索发布到 URI 的整个字符串?

PS 我看过这篇关于 POST 创建的帖子。但是我发现异步部分对于我的情况来说太复杂了。

标签: c#urloauth-2.0

解决方案


由于我们不知道api文档,我建议您发出邮递员请求并查看实际发送的请求和收到的响应,然后使用您的方法发出请求并使用wireshark等实用程序捕获并比较差异。


推荐阅读