HttpClient PostAsync Invalid Post Format
c#, httpclient
Solution
I Know this works:
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("Item1", "Value1"));
values.Add(new KeyValuePair<string, string>("Item2", "Value2"));
values.Add(new KeyValuePair<string, string>("Item3", "Value3"));
using (var content = new FormUrlEncodedContent(values))
{
client.PostAsync(postUri, content).Result)
}
Problem
I am trying to use HttpClient's PostAsync to login to a website; However it always fails and when I tracked the connection using WireShark I found that it posts the data incorrectly Code ``` var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("value1", data1), new KeyValuePair<string, string>("value2", data2), new KeyValuePair<string, string>("value3", data3) }); ``` or ``` var content = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("value1", data1), new KeyValuePair<string, string>("value2", data2), new KeyValuePair<string, string>("value3", data3) }; ``` usage ``` httpClient.PostAsync(postUri, content) ``` Expectations ``` value1=123456&value2=123456&value3=123456 ``` Reality ``` //It adds strange += which makes the post fail... value1=123456&value2+=123456&value3+=123456 ```