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