Кажется, что HttpWebRequest имеет больше контроля, например ReadWriteTimeout. Мне интересно, следует ли придерживаться HttpWebRequest, а не WebRequest
Какая разница между webrequest и httpwebrequest
Ответ 1
WebRequest - это базовый/родительский класс для HttpWebRequest и некоторые другие запросы, перечисленные здесь.
Теперь они:
System.IO.Packaging.PackWebRequest
System.Net.FileWebRequest
System.Net.FtpWebRequest
System.Net.HttpWebRequest
Ответ 2
A WebRequest может быть HttpWebRequest/FtpWebRequest/FileWebRequest (или более в будущем...)
Ответ 3
Я знаю его слишком долгое время, но только для информации:
WebRequest
System.Object
System.MarshalByRefObject
System.Net.WebRequest
WebRequest - абстрактный базовый класс. Таким образом, вы фактически не используете его напрямую. Вы используете его через производные классы - HttpWebRequest и FileWebRequest.
Вы используете метод Create WebRequest для создания экземпляра WebRequest. GetResponseStream возвращает data stream.
Существуют также классы FileWebRequest и FtpWebRequest, которые наследуют от WebRequest. Обычно вы используете WebRequest, чтобы сделать запрос и преобразовать возврат в HttpWebRequest, FileWebRequest или FtpWebRequest, в зависимости от вашего запроса. Ниже приведен пример:
Пример:
var _request = (HttpWebRequest)WebRequest.Create("http://stackverflow.com");
var _response = (HttpWebResponse)_request.GetResponse();
Надеюсь, это поможет!