NET и C #, HttpWebRequest и HttpWebResponse класове

.NET Framework предоставя два основни класа, които улесняват HTTP достъпа: HttpWebRequest и HttpWebResponse. Тези класове осигуряват голяма част от функционалността, предоставена от протокола HTTP, по прост начин. Те са получени от абстрактните класове WebRequest и WebResponse.

За да видим как работят тези класове, нека разгледаме пример за това как те могат да бъдат използвани за получаване на страница от Интернет:

За да създадете обект HttpWebRequest, трябва да извикате статичния метод Създаване () класът WebRequest (също наследен от класа HttpWebRequest). Този метод изследва формата на URI, предаден му и, според случая, връща обект WebRequest, представляващ HTTP заявка или заявка за файлова система. Тъй като един и същ метод се използва за създаване както на HTTP заявка, така и на заявка за файлова система, върнатият обект е от тип WebRequest и трябва да бъде прехвърлен към HttpWebRequest или FileWebRequest. Методът Create () анализира URL адреса и го предава на обекта на заявката. След това блокът заявки изгражда изходящата HTTP заявка и също така изгражда конфигурацията на HTTP заглавката.

След като сте получили обекта на заявката, можете да извикате метода за него GetResponse (). Този метод изпраща заявка до сървъра и връща обект WebResponse (трябва да го върнете обратно към HttpWebResponse). Този обект представлява съобщение за отговор на HTTP и съдържа информация за HTTP заглавката, включително ContentType, ContentLength, StatusCode и бисквитки и първото парче данни, което се поставя във вътрешен буфер и трябва да се прочете от потока. Свойствата на обекта HttpWebResponse се задават заедно с данните.