Кажется, что 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();
Надеюсь, это поможет!