Почему Call to WebAPI с использованием C # HttpClient возвращает 401, когда он работает с помощью Postman? - PullRequest
0 голосов
/ 21 декабря 2018

Вот конечная точка WebAPI: https://mysoylplus -apptest.frontierag.co.uk / api / someendpoint

Я отправляю formData в Postman в паре ключ-значение, как показано ниже:

authenticationData[b64EncryptedSoylSenseInfo] : 'somekey', authenticationData[b64iv] : 'some key'

Вышеописанное работает в Почтальоне, но когда я использую HttpClient в коде C #, это дает мне 401 exception.

Что я делаю неправильно?Я получаю 200 ОК, используя Почтальон, но я получаю 401, используя приведенный ниже код.

string url = "https://mysoylplus-apptest.frontierag.co.uk/api/someendpoint";
using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Add("Accept", "application/x-www-form-urlencoded");                



    using (var httpContent = new HttpRequestMessage(HttpMethod.Post, url))
    {
        client.Timeout = TimeSpan.FromMinutes(20);

        var values = new Dictionary<string, string>();   

        values.Add("authenticationData[b64EncryptedSoylSenseInfo]", "somekey");
        values.Add("authenticationData[b64iv]", "somekey");


        httpContent.Content = new FormUrlEncodedContent(values);

        var response = client.PostAsync(url, httpContent.Content);

        // here is the hash as string
        var result = response.Result.ToString();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...