Какая разница между webrequest и httpwebrequest

Кажется, что HttpWebRequest имеет больше контроля, например ReadWriteTimeout. Мне интересно, следует ли придерживаться HttpWebRequest, а не WebRequest

Ответ 1

WebRequest - это базовый/родительский класс для HttpWebRequest и некоторые другие запросы, перечисленные здесь.

Теперь они:

  System.IO.Packaging.PackWebRequest
  System.Net.FileWebRequest
  System.Net.FtpWebRequest
  System.Net.HttpWebRequest

Ответ 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();

Надеюсь, это поможет!