Блог
  • Начало
  • Обо мне
  • Обратная связь

C#: простейшие GET и POST запросы

Дата и время: 5 февраля 2015 г. 16:17 | Категория: Программирование, C#

Наиболее простым, на мой взгляд, способом инициализации GET и POST запросов в C#, является использование объекта класса WebClient из пространства имён System.Net.

Рассмотрим реализацию GET запроса на примере консольного приложения.

using System;
using System.Net;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            // Адрес ресурса, к которому выполняется запрос
            string url = "http://site.com/";

            // Создаём объект WebClient
            using (var webClient = new WebClient())
            {
                // Выполняем запрос по адресу и получаем ответ в виде строки
                var response = webClient.DownloadString(url);
            }
        }
    }
}

Как видно из примера, реализовать GET запрос проще некуда. Нужно всего лишь создать объект класса WebClient и выполнить его метод DownloadString(). Для запроса есть специальное свойство QueryString, с помощью которго можно добавить параметры запроса в виде пар ключ,значение.

var webClient = new WebClient();
webClient.QueryString.Add("format", "json");

POST запрос реализует не сложнее, но уже предполагает обязательное наличие параметров запроса.

using System;
using System.Net;
using System.Collections.Specialized;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = "http://site.com/";

            using (var webClient = new WebClient())
            {
                // Создаём коллекцию параметров
                var pars = new NameValueCollection();

                // Добавляем необходимые параметры в виде пар ключ, значение
                pars.Add("format", "json");

                // Посылаем параметры на сервер
                // Может быть ответ в виде массива байт
                var response = webClient.UploadValues(url, pars); 
            }
        }
    }
}

Рассмотренные примеры можно использовать для доступа к API веб-приложений, заполнению форм и т. п. Полученные ответы от сервера могут подвергаться различной постобработке. Например, для сериализации JSON ответов есть отличная библиотека Json.NET (Newtonsoft.Json).

comments powered by Disqus
Select language:
  • Русский
  • English

  • Программирование

    Python C++ JavaScript

    Веб-разработка

    Django ASP.NET

    Мобильная разработка

    Windows Phone Android

    Разработка игр

    Unity3d Blender

    Артем Устимов © 2014