WebRequest和HttpWebRequest有什么区别?

10

看起来 HttpWebRequest 拥有更多控制权,例如 ReadWriteTimeout。我在想是否应该坚持使用 HttpWebRequest 而不是 WebRequest


请参见SO - SteveC
似乎这个问题每年都会重复出现:https://dev59.com/4msy5IYBdhLWcg3w8Slc - cregox
3个回答

10

WebRequestHttpWebRequest和其他一些请求类的基类/父类,可以在这里找到其它请求类。

目前,这些请求类包括:

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

5

0

我知道这个时间有点长了,但只是为了提供信息:

WebRequest

System.Object
    System.MarshalByRefObject
        System.Net.WebRequest

WebRequest 是一个抽象基类,所以你实际上并不会直接使用它。你通过它的派生类 HttpWebRequestFileWebRequest 来使用它。

你可以使用 WebRequest 的 Create 方法创建一个 WebRequest 实例。 GetResponseStream 返回 数据流

还有 FileWebRequestFtpWebRequest 类都继承自 WebRequest。通常情况下,你会使用 WebRequest 来发出请求,并将返回值转换为 HttpWebRequestFileWebRequestFtpWebRequest,具体取决于请求类型。以下是一个示例:

示例:

var _request = (HttpWebRequest)WebRequest.Create("http://stackverflow.com");
var _response = (HttpWebResponse)_request.GetResponse();

希望这能有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接