Запрос POST в C#
Тело запроса уходит отдельно от адреса. Его
отправляют методом PostAsync. Форму
кодируют строкой
"application/x-www-form-urlencoded"
через StringContent.
Адрес "httpbin.org/post" повторяет
присланную форму и обычно даёт 200. В
ответе видно переданное поле:
using System.Net.Http;
using System.Text;
using HttpClient client = new();
using HttpContent body = new StringContent("field=value", Encoding.UTF8, "application/x-www-form-urlencoded");
using HttpResponseMessage response = await client.PostAsync("https://httpbin.org/post", body);
string text = await response.Content.ReadAsStringAsync();
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(text.Contains("field"));
Хост "example.com" часто отвечает на POST
кодом 405 Method Not Allowed. Код всё
равно читают из StatusCode, тело может
быть коротким:
using System.Net.Http;
using System.Text;
using HttpClient client = new();
using HttpContent body = new StringContent("note=ready", Encoding.UTF8, "application/x-www-form-urlencoded");
using HttpResponseMessage response = await client.PostAsync("https://example.com/", body);
Console.WriteLine((int)response.StatusCode);
POST на "httpbin.org/post" с полем
"user=mia"; выведите код и признак, что
"mia" есть в теле ответа.