C# взаимодействие с сайтом
Здравствуйте уважаемые читатели! Сегодня я объясню как сделать взаимодействие с интернетом.
Для взаимодействием с интернетом существуют 2 больших классов: HttpWebRequest (HttpWebResponse) и WebClient. Я попытаюсь объяснить различие между ними.
HttpWebRequest подходит для более профессиональных целей. Он поддерживает отправку заголовков, файлы Cookies, Get и Post запросы, а WebClient имеет понятные для новичков функции и позволяет загрузить/скачать файл а также HTML-код, как раз то что нам нужно.
Вот функция которая получает HTML-код страницы. Параметр "uri" который передается из функции GetHtmlCode это адрес страницы (например: "www.google.com")
Вызывать мы эту функцию будем так:
Вот и все. С помощью всего 2 строк мы смогли получить HTML-код страницы. А как получить его с помощью HttpWebRequest? Здесь будет по сложнее немножко:
Для взаимодействием с интернетом существуют 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
Trimiteți un comentariu