Я пытаюсь преобразовать ниже CURL в HttpClient или аналогичный с использованием C #.
curl --form "file=@C:\files\test.csv" https://company.com/api/v0/imports/api_name?token=123456asdfgh2345asdfg12345sdfgh2345sdfg123asd
Я пробовал ниже, но мне бросается 401.
StatusCode: 401, ReasonPhrase: 'Unauthorized', Версия: 1.1, Содержимое: System.Net.Http.StreamContent, Заголовки:
Вот код:
private async Task<string> PostAttachment(byte[] data, Uri url, string contentType, string token)
{
HttpContent content = new ByteArrayContent(data);
content.Headers.ContentType = new MediaTypeHeaderValue(contentType);
using (var form = new MultipartFormDataContent())
{
form.Add(content);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.PostAsync(url, form);
return await response.Content.ReadAsStringAsync(); }}}
И звонил сюда
var uri = new Uri(@"https://company.com/api/v0/imports/api_name");
PostAttachment(Encoding.UTF8.GetBytes(csv), uri, "text/csv", token);`
Я пробовал много других подобных сообщенийздесь, но ничто не получило аутентификацию с токенами.