HttpWebRequest.Host 属性

定义

获取或设置要在独立于请求 URI 的 HTTP 请求中使用的主机标头值。

public:
 property System::String ^ Host { System::String ^ get(); void set(System::String ^ value); };
public string Host { get; set; }
member this.Host : string with get, set
Public Property Host As String

属性值

HTTP 请求中的 Host 标头值。

例外

主机标头不能设置为 null

主机标头不能设置为无效值。

在开始发送 HttpWebRequest 后,无法设置主机标头。

注解

谨慎

WebRequestHttpWebRequestServicePointWebClient 已过时,不应将其用于新开发。 请改用 HttpClient

Host 属性可用于设置主机标头值,以在独立于请求 URI 的 HTTP 请求中使用。 Host 属性可以包含主机名和可选端口号。 没有端口信息的主机标头表示请求的服务的默认端口(例如 HTTP URL 的端口 80)。

指定主机和端口的格式必须遵循 IETF 发布的RFC2616第 14.23 节中的规则。 符合这些要求的示例指定端口 8080 将是 Host 属性的以下值:

www.contoso.com:8080

使用 Host 属性显式指定自定义主机标头值还会影响区域缓存、Cookie 和身份验证。 当应用程序提供特定 URI 前缀的凭据时,应用程序需要确保使用包含主机标头值的 URI,而不是 URI 中的目标服务器。 缓存资源时使用的密钥,使用主机标头值而不是请求 URI。 Cookie 存储在 CookieContainer 中,逻辑上按服务器域名分组。 如果应用程序指定了主机标头,则此值将用作域。

如果未设置 Host 属性,则要在 HTTP 请求中使用的主机标头值基于请求 URI。

适用于