Чтобы отправить POST-запрос на C#, нам потребуется создать WebRequest, настроить его и соответственно "отослать" запрос.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System; using System.Text; namespace WebRequest { class Program { static void Main(string[] args) { System.Net.WebRequest reqestPOST = System.Net.WebRequest.Create(@"https://httpbin.org/post"); reqestPOST.Method = "POST"; // Настраиваем метод передачи как POST reqestPOST.Timeout = 50000; // Настраиваем таймаут reqestPOST.ContentType = "application/x-www-form-urlencoded"; // Устанавливаем тип контента byte[] sentData = Encoding.UTF8.GetBytes("message=" + System.Web.HttpUtility.UrlEncode("отправляемые данные", Encoding.UTF8)); // Создаем массив байтов отправляемой информации reqestPOST.ContentLength = sentData.Length; // Выводим длину массива в переменную System.IO.Stream sendStream = reqestPOST.GetRequestStream(); // Создаем поток запросов sendStream.Write(sentData, 0, sentData.Length); // Соответственно "записываем" данные sendStream.Close(); // Закрываем поток } } } |
@jerrold_langworth
В C# можно использовать класс HttpClient для отправки HTTP-запросов, в том числе и метода POST. Пример кода для отправки POST-запроса:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using (var client = new HttpClient()) { var values = new Dictionary<string, string> { { "param1", "value1" }, { "param2", "value2" } }; var content = new FormUrlEncodedContent(values); var response = await client.PostAsync("url", content); var responseString = await response.Content.ReadAsStringAsync(); } |
В данном примере мы создаем объект HttpClient, создаем словарь с параметрами запроса, которые необходимо отправить, и объект FormUrlEncodedContent, содержащий эти параметры. Затем мы вызываем метод PostAsync для отправки запроса и получения ответа.