3.26语言与消息属性
全球化是互联网应用产品的发展趋势,因此,面向全球的应用产品应具备国际化功能。发送 HTTP 请求时,可通过添加 Accept-Language 标头来指定客户端偏好的自然语言和区域。
设置客户端偏好的语言和区域#
全球化是互联网应用产品的发展趋势,因此,面向全球的应用产品应具备国际化功能。发送 HTTP 请求时,可通过添加 Accept-Language 标头来指定客户端偏好的自然语言和区域。
HttpRequestBuilder.Get("https://furion.net") .AcceptLanguage("en-US");HttpRequestBuilder.Get("https://furion.net") .AcceptLanguage("zh-CN,en;q=0.5");HttpRequestBuilder.Get("https://furion.net") .AcceptLanguage("fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5");设置 HttpRequestMessage 属性#
在特定场景下,我们可能需要为 HttpRequestMessage 请求添加额外的属性,而非通过请求标头。这时,可以如下操作:
HttpRequestBuilder.Get("https://furion.net") .WithProperty("key1", "vallue2") // 设置单个属性 .WithProperties(new Dictionary<string, object?> {}) // 设置多个属性 .WithProperties(new { id = 1, name = "Furion" }); // 设置多个属性这些属性会被添加到 HttpRequestMessage 对象的 Options 属性中(参考文档)。要获取这些值,可以这样做:
httpRequestMessage.Options.TryGetValue(new HttpRequestOptionsKey<string>("key1"), out var value);若属性键出现重复,则后设置的键值会覆盖先前的设置。