C# взаимодействие с сайтом

Здравствуйте уважаемые читатели! Сегодня я объясню как сделать взаимодействие с интернетом.

Для взаимодействием с интернетом существуют 2 больших классов: HttpWebRequest (HttpWebResponse) и WebClient. Я попытаюсь объяснить различие между ними.
 HttpWebRequest подходит для более профессиональных целей. Он поддерживает отправку заголовков, файлы Cookies, Get и Post запросы, а WebClient имеет понятные для новичков функции и позволяет загрузить/скачать файл а также HTML-код, как раз то что нам нужно.

Вот функция которая получает HTML-код страницы. Параметр "uri" который передается из функции GetHtmlCode это адрес страницы (например: "www.google.com")
private string GetHtmlCode(string uri)
        {
            var webClient = new WebClient();
            return webClient.DownloadString(uri);
        }

Вызывать мы эту функцию будем так:
string html = this.GetHtmlCode("https://www.google.com/#q=test");

Вот и все. С помощью всего 2 строк мы смогли получить HTML-код страницы. А как получить его с помощью HttpWebRequest? Здесь будет по сложнее немножко:
            var request = (HttpWebRequest)WebRequest.Create(uri);
            using (var resp = (HttpWebResponse)request.GetResponse())
            {
                using (var reader = new StreamReader(resp.GetResponseStream()))
                {
                     var html = reader.ReadToEnd();
                }
            }
Выбор за вами, результат по любому будет таким же. Здесь создается запрос по ссылке которая передается из функции, потом получаем ответ и поток от ответа, а после с потока читаем код страницы.

Ну вот и все. Если заметили грамматические ошибки или работоспособность кода нарушена пишите в комментариях или на почту: powercodx@mail.ru
Автор: PowerCodX, 2013

Comentarii

Postări populare de pe acest blog

[.NET] C# Разделить строку на слова

C# - Перемешать Массив