Как отправить post запрос в C#?

Пользователь

от jerrold_langworth , в категории: Другие , 2 года назад

Как отправить post запрос в C#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

Чтобы отправить 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(); // Закрываем поток
        }
    } 
}

Пользователь

от gage , год назад

@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 для отправки запроса и получения ответа.