如何在 Windows8 应用程序中将标头添加到 HttpWebRequest
本文关键字:添加 HttpWebRequest Windows8 应用程序 | 更新日期: 2023-09-27 18:36:43
我正在开发C#''XAML metro-ui应用程序。我想打电话给一些服务,并为此使用HttpWebRequest
。以前实现的HttpWebRequest
包含ContentLength
和UserAgent
属性。但是WinRT的实现并没有它。我尝试使用本文中描述的方法。它适用于UserAgent
,但不适用于ContentLength
。我试图设置Headers
request.Headers["Content-length"] = Length;
request.Headers["User-agent"] = UserAgent;
但收到异常"必须使用适当的属性或方法修改'内容长度'标头。
热 是否可以在 WinRT 中实现HttpWebRequest
中设置Headers
?
HttpWebRequest
在WinRT 下具有半弃用状态。 以前可以在早期 .NET 平台上修改的某些标头值不能再使用它进行修改。
似乎HttpClient
是HttpWebRequest的新的和改进的替代品,具有简单的API和完全的异步支持。
由于您要指定内容长度,因此我假设您正在尝试向服务器发布或放置某些内容。 在这种情况下,您需要根据需要使用 PostAsync() 或 PutAsync()。
var req = new HttpClient();
req.DefaultRequestHeaders.Add("User-agent", UserAgent);
req.DefaultRequestHeaders.Add("Content-length", Length);
return await req.PostAsync(RequestURL, Body);
您可能真的不需要指定 Content-length 标头,因为它将根据 Body 的实际长度自动包含在这些方法中,但您可以尝试使用任何一种方式。