Есть ли способ получить строку так, как она фактически загружена на сервер (в целом)? - PullRequest
0 голосов
/ 28 марта 2019

В настоящее время я работаю над реализацией 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. Есть ли способ получить всю строку, отправленную в URI, с помощью UploadString?

P.S. Я видел этот пост о создании POST. Однако я считаю, что асинхронная часть слишком сложна для моего случая.

1 Ответ

1 голос
/ 28 марта 2019

Поскольку мы не знаем документации API, я бы посоветовал вам сделать запрос почтальона и просмотреть фактический отправленный запрос и полученный ответ, а затем сделать запрос, используя ваш метод, и захватить с помощью утилиты, такой как wireshark, и сравнить разницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...