How to send x-www-form-urlencoded in a post request in webclient?
18,261
Solution 1
You can use UploadString()
method on WebClient
class like
string data = "name=john&age=20&city=Uganda";
using (WebClient client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string result = client.UploadString(url of api resource, data);
}
Solution 2
HttpClient client = new HttpClient();
HttpContent content = new FormUrlEncodedContent(
new List<KeyValuePair<string, string>>()
);
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
content.Headers.ContentType.CharSet = "UTF-8";
client.DefaultRequestHeaders.ExpectContinue = false;
HttpResponseMessage response = await client.PostAsync(new Uri(https://some url...), content);
hope this helps.. since HttpClient is latest also lean towards restapi better..
Author by
SkrtOnDiscord
Updated on June 28, 2022Comments
-
SkrtOnDiscord almost 2 years
I know I can send json but I couldn't find how to send x-www-form-urlencoded. I don't know what to try as I couldn't find anything.
WebClient wc = new WebClient(); string data = "channel_id=+12039273888&channel_type=phone&channel_verification=514950"; wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; string result = wc.UploadString("http://3.86.171.88/api/login", data); System.Console.WriteLine(result);
-
SkrtOnDiscord almost 5 yearsi try to add that in my code and i get a 402 error - unprocessable indetitity.