我使用 WebClient 从 restfull 服务(.net web api)获取一个 Xml 对象,一切都很好:
using(WebClient client = new WebClient())
{
client.Encoding = UTF8Encoding.UTF8;
client.Headers[HttpRequestHeader.ContentType] = "text/xml";
client.Credentials = // ....;
xmlResult = webClient.DownloadString(url);
}
....
这段代码很好用。我得到一个 Xml 作为字符串返回,每个人都很高兴。
现在,我更改了它,以便它可以与 HttpClient 一起使用,并且我无法返回 Xml - 始终将 json 作为字符串。
using(var handler = new HttpClientHandler() {Credentials = new NetworkCredentials})
using(var client = new HttpClient(handler))
{
var request = new HttpRequestMessage(HttpMethod.Get, url);
request.Headers.Add(HttpRequestHeader.ContentType.ToString(), "text/xml");
returnedXml = client.SendAsync(request).Result.Content.ReadAsStringAsync().Result;
}
我究竟做错了什么?我怎样才能得到我渴望的 Xml?
谢谢
最佳答案
试试这个..
using(var handler = new HttpClientHandler() {Credentials = new NetworkCredentials})
using(var client = new HttpClient(handler))
{
client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("text/xml"));
var request = new HttpRequestMessage(HttpMethod.Get, url);
returnedXml = client.SendAsync(request).Result.Content.ReadAsStringAsync().Result;
}
关于.net - 使用来自 webapi 的 HttpClient 使用 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31115545/