看起来 HttpWebRequest
拥有更多控制权,例如 ReadWriteTimeout
。我在想是否应该坚持使用 HttpWebRequest
而不是 WebRequest
。
WebRequest
是HttpWebRequest
和其他一些请求类的基类/父类,可以在这里找到其它请求类。
目前,这些请求类包括:
System.IO.Packaging.PackWebRequest
System.Net.FileWebRequest
System.Net.FtpWebRequest
System.Net.HttpWebRequest
我知道这个时间有点长了,但只是为了提供信息:
WebRequest
System.Object
System.MarshalByRefObject
System.Net.WebRequest
WebRequest
是一个抽象基类,所以你实际上并不会直接使用它。你通过它的派生类 HttpWebRequest
和 FileWebRequest
来使用它。
你可以使用 WebRequest
的 Create 方法创建一个 WebRequest
实例。 GetResponseStream
返回 数据流
。
还有 FileWebRequest
和 FtpWebRequest
类都继承自 WebRequest
。通常情况下,你会使用 WebRequest
来发出请求,并将返回值转换为 HttpWebRequest
、FileWebRequest
或 FtpWebRequest
,具体取决于请求类型。以下是一个示例:
示例:
var _request = (HttpWebRequest)WebRequest.Create("http://stackverflow.com");
var _response = (HttpWebResponse)_request.GetResponse();