UWP 和 headers
UWP and headers
我正在构建向远程服务器发送 HTTP(s) 请求的 UWP 应用程序,但我在添加 HTTP headers "Content-Type" 时遇到问题。我尝试使用方法 HttpRequestMessage.Headers.Add,但异常结束。然后HttpClient.DefaultRequestHeaders.TryAddWithoutValidation,什么都不做。请问有什么idea/hint怎么办?
如果我理解正确,
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("<type>"));
应该能帮到你。
内容类型 header 是在您设置请求内容时添加的。您不能直接更改 header。
您应该查看 Windows.Web.Http 命名空间的 HttpXXXContent 类。
例如,如果您将内容作为字符串发送,则可以使用 HttpStringContent 作为:
var content = new HttpStringContent("my content string", Windows.Storage.Streams.UnicodeEncoding.Utf8, "text/xml");
var response = await m_client.PostAsync(m_serverUri, content;
您也可以使用 HttpFormUrlEncodedContent, HttpBufferContent...
我正在使用此代码:
using (var hc = new HttpClient()) {
var content = new StringContent(..., Encoding.UTF8, "application/json");
using (var response = await hc.PostAsync(..., content)) {
...
}
}
或者这个:
using (var hc = new HttpClient()) {
var content = new MultipartFormDataContent();
content.Add(new FileContent(..., "text/xml", ...));
using (var response = await hc.PostAsync(..., content)) {
...
}
}
我正在构建向远程服务器发送 HTTP(s) 请求的 UWP 应用程序,但我在添加 HTTP headers "Content-Type" 时遇到问题。我尝试使用方法 HttpRequestMessage.Headers.Add,但异常结束。然后HttpClient.DefaultRequestHeaders.TryAddWithoutValidation,什么都不做。请问有什么idea/hint怎么办?
如果我理解正确,
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("<type>"));
应该能帮到你。
内容类型 header 是在您设置请求内容时添加的。您不能直接更改 header。
您应该查看 Windows.Web.Http 命名空间的 HttpXXXContent 类。
例如,如果您将内容作为字符串发送,则可以使用 HttpStringContent 作为:
var content = new HttpStringContent("my content string", Windows.Storage.Streams.UnicodeEncoding.Utf8, "text/xml");
var response = await m_client.PostAsync(m_serverUri, content;
您也可以使用 HttpFormUrlEncodedContent, HttpBufferContent...
我正在使用此代码:
using (var hc = new HttpClient()) {
var content = new StringContent(..., Encoding.UTF8, "application/json");
using (var response = await hc.PostAsync(..., content)) {
...
}
}
或者这个:
using (var hc = new HttpClient()) {
var content = new MultipartFormDataContent();
content.Add(new FileContent(..., "text/xml", ...));
using (var response = await hc.PostAsync(..., content)) {
...
}
}