Создание и получение HTTP-запроса в C # - PullRequest
11 голосов
/ 27 октября 2011

Я хочу, чтобы мое приложение на C # могло отправлять http-запрос и получать ответ во время выполнения

Объяснение с веб-сайта, с которого я хочу запросить: ЗДЕСЬ

Раньше у меня такого опыта не было, поэтому я немного запутался в JSON, XML-вещах, которые, я знаю, мне понадобится парсер XML или что-то вроде этого, чтобы понять запрос

Ответы [ 5 ]

19 голосов
/ 27 октября 2011

Создание HTTP-запроса очень просто, если вы не хотите его настраивать: один вызов метода для WebClient.DownloadString. Например:

var client = new WebClient();
string html = client.DownloadString("http://www.google.com");
Console.WriteLine(html);

Вам потребуется каждый раз создавать правильный URL-адрес в соответствии с документацией, на которую вы ссылаетесь.

Если вы используете приведенный выше пример кода для связи с вашим API, html (который в действительности является данными ответа) будет содержать либо XML, либо JSON в виде строки. Затем вам нужно будет проанализировать это в дереве объектов другого типа, чтобы вы могли работать с ответом.

6 голосов
/ 27 октября 2011

Помимо использования WebClient, как было предложено, вы также можете взглянуть на EasyHttp от Hadi Hariri из JetBrains. Вы можете найти его на https://github.com/hhariri/EasyHttp Сводка от ReadMe:

EasyHttp - простой в использовании HTTP-клиент, который поддерживает:

  • HEAD, PUT, DELETE, GET, POST
  • печенье
  • Аутентификация
  • Динамическая и статическая печать
  • Кодирование / декодирование в кодировке / декодировании в формате XML, JSON и WWW-Url
  • Загрузка файлов через PUT и POST (multipart / formdata)
  • Некоторые другие приятные мелочи ...
3 голосов
/ 27 октября 2011

Вы захотите посмотреть объекты HttpWebRequest и HttpWebResponse. Это будут объекты, которые фактически делают HTTP-запросы.

Запрос и ответ будут содержать XML и JSON в теле для API-интерфейса ViralHeat, с которым вы связались.

1 голос
/ 27 октября 2011

Это http://www.nuget.org/List/Packages/HttpClient - это стратегический httpclient Microsoft, движущийся вперед. Я ожидаю, что эта библиотека будет реализована на всех платформах Microsoft в ближайшем будущем.

0 голосов
/ 27 октября 2011

Вы можете реализовать API REST WCF: http://www.codeproject.com/KB/WCF/RestServiceAPI.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...