提供 WebRequest 类的 HTTP 特定的实现。
命名空间:System.Net ; 程序集: System(在 System.dll 中)
HttpWebRequest 类型公开以下成员。
| 名称 | 说明 |
|---|---|
| HttpWebRequest() | 已过时。HttpWebRequest 类的新实例。 |
| HttpWebRequest(SerializationInfo, StreamingContext) | 已过时。HttpWebRequest 类的新实例。 |
| 名称 | 说明 |
|---|---|
| Accept | Accept HTTP 标头的值。 |
| Address | 获取实际响应请求的 Internet 资源的统一资源标识符 (URI)。 |
| AllowAutoRedirect | 获取或设置一个值,该值指示请求是否应跟随重定向响应。 |
| AllowReadStreamBuffering | 获取或设置一个值,该值指示是否对从 Internet 资源接收的数据进行缓冲处理。 |
| AllowWriteStreamBuffering | 获取或设置一个值,该值指示是否对发送到 Internet 资源的数据进行缓冲处理。 |
| AuthenticationLevel | 获取或设置用于此请求的身份验证和模拟的级别。 (继承自 WebRequest。) |
| AutomaticDecompression | 获取或设置所使用的解压缩类型。 |
| CachePolicy | 获取或设置此请求的缓存策略。 (继承自 WebRequest。) |
| ClientCertificates | 获取或设置与此请求关联的安全证书集合。 |
| Connection | Connection HTTP 标头的值。 |
| ConnectionGroupName | 获取或设置请求的连接组的名称。 (重写 WebRequest.ConnectionGroupName。) |
| ContentLength | Content-lengthHTTP 标头。 (重写 WebRequest.ContentLength。) |
| ContentType | Content-type HTTP 标头的值。 (重写 WebRequest.ContentType。) |
| ContinueDelegate | 获取或设置当从 Internet 资源接收到 HTTP 100 持续响应时调用的委托方法。 |
| ContinueTimeout | 获取或设置在接收到来自服务器的 100 次连续响应之前要等待的超时(以毫秒为单位)。 |
| CookieContainer | 获取或设置与此请求关联的 cookie。 |
| CreatorInstance | 已过时。当在子类中重写时,获取从 IWebRequestCreate 类派生的工厂对象,该类用于创建为生成对指定 URI 的请求而实例化的 WebRequest。 (继承自 WebRequest。) |
| Credentials | 获取或设置请求的身份验证信息。 (重写 WebRequest.Credentials。) |
| Date | Date HTTP 标头值。 |
| DefaultCachePolicy | 获取或设置此请求的默认缓存策略。 |
| DefaultMaximumErrorResponseLength | 获取或设置 HTTP 错误响应的默认最大长度。 |
| DefaultMaximumResponseHeadersLength | 获取或设置 MaximumResponseHeadersLength 属性的默认值。 |
| Expect | Expect HTTP 标头的值。 |
| HaveResponse | 获取一个值,该值指示是否收到了来自 Internet 资源的响应。 |
| Headers | 指定构成 HTTP 标头的名称/值对的集合。 (重写 WebRequest.Headers。) |
| Host | 获取或设置要在 HTTP 请求中独立于请求 URI 使用的 Host 标头值。 |
| IfModifiedSince | If-Modified-Since HTTP 标头的值。 |
| ImpersonationLevel | 获取或设置当前请求的模拟级别。 (继承自 WebRequest。) |
| KeepAlive | 获取或设置一个值,该值指示是否与 Internet 资源建立持久性连接。 |
| MaximumAutomaticRedirections | 获取或设置请求将跟随的重定向的最大数目。 |
| MaximumResponseHeadersLength | 获取或设置响应标题允许的最大长度。 |
| MediaType | 获取或设置请求的媒体类型。 |
| Method | 获取或设置请求的方法。 (重写 WebRequest.Method。) |
| Pipelined | 获取或设置一个值,该值指示是否通过管线将请求传输到 Internet 资源。 |
| PreAuthenticate | 获取或设置一个值,该值指示是否随请求发送一个身份验证标头。 (重写 WebRequest.PreAuthenticate。) |
| ProtocolVersion | 获取或设置用于请求的 HTTP 版本。 |
| Proxy | 获取或设置请求的代理信息。 (重写 WebRequest.Proxy。) |
| ReadWriteTimeout | 获取或设置写入或读取流时的超时(以毫秒为单位)。 |
| Referer | Referer HTTP 标头的值。 |
| RequestUri | 获取请求的原始统一资源标识符 (URI)。 (重写 WebRequest.RequestUri。) |
| SendChunked | 获取或设置一个值,该值指示是否将数据分段发送到 Internet 资源。 |
| ServerCertificateValidationCallback | 获取或设置用于验证服务器证书的回调函数。 |
| ServicePoint | 获取用于请求的服务点。 |
| SupportsCookieContainer | 获取一个值,该值指示请求是否为 CookieContainer 提供支持。 |
| Timeout | 获取或设置 GetResponse 和 GetRequestStream 方法的超时值(以毫秒为单位)。 (重写 WebRequest.Timeout。) |
| TransferEncoding | Transfer-encoding HTTP 标头的值。 |
| UnsafeAuthenticatedConnectionSharing | 获取或设置一个值,该值指示是否允许经过高速 NTLM 身份验证的连接共享。 |
| UseDefaultCredentials | 获取或设置一个 Boolean 值,该值控制默认凭据是否随请求一起发送。 (重写 WebRequest.UseDefaultCredentials。) |
| UserAgent | User-agent HTTP 标头的值。 |
| 名称 | 说明 |
|---|---|
| Abort | 取消对 Internet 资源的请求。 (重写 WebRequest.Abort()。) |
| AddRange(Int32) | 向请求添加从请求数据的开始处或结束处的特定范围的字节范围标头。 |
| AddRange(Int64) | 向请求添加从请求数据的开始处或结束处的特定范围的字节范围标头。 |
| AddRange(Int32, Int32) | 向请求添加指定范围的字节范围标头。 |
| AddRange(Int64, Int64) | 向请求添加指定范围的字节范围标头。 |
| AddRange(String, Int32) | 向请求添加从请求数据的开始处或结束处计算的特定范围的 Range 标头。 |
| AddRange(String, Int64) | 向请求添加从请求数据的开始处或结束处计算的特定范围的 Range 标头。 |
| AddRange(String, Int32, Int32) | 向请求添加指定范围的范围标头。 |
| AddRange(String, Int64, Int64) | 向请求添加指定范围的范围标头。 |
| BeginGetRequestStream | 开始对用来写入数据的 Stream 对象的异步请求。 (重写 WebRequest.BeginGetRequestStream(AsyncCallback, Object)。) |
| BeginGetResponse | 开始对 Internet 资源的异步请求。 (重写 WebRequest.BeginGetResponse(AsyncCallback, Object)。) |
| CreateObjRef | 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。) |
| EndGetRequestStream(IAsyncResult) | 结束对用于写入数据的 Stream 对象的异步请求。 (重写 WebRequest.EndGetRequestStream(IAsyncResult)。) |
| EndGetRequestStream(IAsyncResult,TransportContext) | 结束对用于写入数据的 Stream 对象的异步请求,并输出与该流关联的 TransportContext。 |
| EndGetResponse | 结束对 Internet 资源的异步请求。 (重写 WebRequest.EndGetResponse(IAsyncResult)。) |
| Equals(Object) | 确定指定的对象是否等于当前对象。 (继承自 Object。) |
| Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
| GetHashCode | 作为默认哈希函数。 (继承自 Object。) |
| GetLifetimeService | 检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。) |
| GetObjectData | 基础结构。使用序列化目标对象所需的数据填充 SerializationInfo。 (重写 WebRequest.GetObjectData(SerializationInfo, StreamingContext)。) |
| GetRequestStream() | 获取用于写入请求数据的 Stream 对象。 (重写 WebRequest.GetRequestStream()。) |
| GetRequestStream(TransportContext) | 获取用于写入请求数据的 Stream 对象,并输出与该流关联的 TransportContext。 |
| GetRequestStreamAsync | 当在子类中被重写时,将用于写入数据的 Stream 作为异步操作返回到 Internet 资源。 (继承自 WebRequest。) |
| GetResponse | 返回来自 Internet 资源的响应。 (重写 WebRequest.GetResponse()。) |
| GetResponseAsync | 当在子类中被重写时,将作为异步操作返回对 Internet 请求的响应。 (继承自 WebRequest。) |
| GetType | 获取当前实例的 Type。 (继承自 Object。) |
| InitializeLifetimeService | 获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。) |
| MemberwiseClone() | 创建当前 Object 的浅表副本。 (继承自 Object。) |
| MemberwiseClone(Boolean) | 创建当前 MarshalByRefObject 对象的浅表副本。 (继承自 MarshalByRefObject。) |
| ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
| 名称 | 说明 |
|---|---|
| ISerializable.GetObjectData | 基础结构。使用将目标对象序列化所需的数据填充 SerializationInfo。 |
HttpWebRequest 对象。
可以使用 BeginGetResponse 和 EndGetResponse 方法对资源发出异步请求。
BeginGetRequestStream 和 EndGetRequestStream 方法提供对发送数据流的异步访问。
HttpWebRequest 的客户端验证身份,客户端证书必须安装在当前用户的“我的证书”存储区中。
当 WebException.Status 为 WebExceptionStatus.ProtocolError 时,Response 属性包含从资源接收的 HttpWebResponse。
注意,服务器和缓存在请求期间可能会更改或添加标头。
下表列出了由属性或方法设置或由系统设置的 HTTP 标头。
|
Header |
设置方 |
|---|---|
|
Accept |
由 Accept 属性设置。 |
|
Connection |
由 Connection 属性和 KeepAlive 属性设置。 |
|
Content-Length |
由 ContentLength 属性设置。 |
|
Content-Type |
由 ContentType 属性设置。 |
|
Expect |
由 Expect 属性设置。 |
|
日期 |
由系统设置为当前日期。 |
|
主机 |
由系统设置为当前主机信息。 |
|
If-Modified-Since |
由 IfModifiedSince 属性设置。 |
|
范围 |
由 AddRange 方法设置。 |
|
Referer |
由 Referer 属性设置。 |
|
Transfer-Encoding |
true)。 |
|
User-Agent |
由 UserAgent 属性设置。 |
|
|
|---|
|
.HttpWebRequest。 |
如果 Internet Explorer 中没有代理设置,请求会直接发送到服务器。
HttpWebRequest 类的代理,但它不会忽略使用 Internet Explorer 的代理。
|
|
|---|
|
尝试重用 SSL 会话时,该框架将使用 ClientCertificates 的第一个元素(如果有);如果 ClientCertificates 为空,则将尝试重用匿名会话。 |
|
|
|---|
|
如果您希望使用 Cookie,请使用 CookieContainer 属性启用 Cookie。 |
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://www.contoso.com/");