Вот конечная точка 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();
}
}