如何通过仅带有键值参数的HttpClient发送表单数据POST请求

问题描述 投票:0回答:2

我如何在仅具有键-值参数的HttpClient的帮助下发送form-data POST请求?

这是我的方法代码:

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;
        }

The same request in the Postan on JavaScript, but it works

c# request multipartform-data dotnet-httpclient
2个回答
0
投票

您没有正确等待。

尝试:var response = await client.SendAsync(request);


0
投票

此问题在RestSharp的帮助下得以解决。我需要从此请求的响应中获取Set-Cookie标头值。我刚刚将CookieContainer添加到RestClient。不确定如何使用HttpClient管理此问题。感谢所有尝试提供帮助的人。

© www.soinside.com 2019 - 2024. All rights reserved.