Как отправить POST-запрос формы-данных с помощью HttpClient с параметрами Key-Value - PullRequest
0 голосов
/ 06 января 2020

Как я могу отправить запрос form-data POST с помощью HttpClient только с параметрами Key-Value?

Вот мой код метода:

public async Task<HttpResponseMessage> MakePostAsync(string endpoint, string token, Dictionary<string, string> headers = null, KeyValuePair<string, string>[] parameters = null)
        {
            var request = new HttpRequestMessage(HttpMethod.Post, endpoint);
            if (headers != null)
            {
                foreach (var header in headers)
                    request.Headers.Add(header.Key, header.Value);
            }
            request.Headers.Add("Content-Type", "multipart/form-data");
            var formaData = new MultipartFormDataContent();

            formaData.Add(new StringContent(token), "__RequestVerificationToken");
            formaData.Add(new StringContent("admin"), "Username");
            formaData.Add(new StringContent("1"), "Password");
            request.Content = formaData;


            HttpResponseMessage response = await Task.Run(() => client.SendAsync(request));
            return response;
        }

Тот же запрос в Постане на JavaScript, но он работает

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Эта проблема была решена с помощью RestSharp. Мне нужно было получить значение заголовка Set-Cook ie из ответа на этот запрос. И я только что добавил CookieContainer в RestClient. Не уверен, как справиться с этой проблемой с HttpClient. Спасибо всем, кто пытался помочь.

0 голосов
/ 07 января 2020

Вы не ожидаете правильно.

Попробуйте: var response = await client.SendAsync(request);

...