C# 阅读a';地点';来自System.Net.Http.HttpContent对象的标头

C# 阅读a';地点';来自System.Net.Http.HttpContent对象的标头,c#,.net,.net-4.5,C#,.net,.net 4.5,我无法从http请求的多部分响应中读取位置头。我正在使用HttpClient,并(主要)按如下方式处理生成的HttpResponseMessage: protected internal virtual async Task ProcessMultiPartResponseAsync(HttpResponseMessage response) { var multipart = await response.Content.ReadAsMultipartAsync(); awai

我无法从http请求的多部分响应中读取
位置
头。我正在使用
HttpClient
,并(主要)按如下方式处理生成的
HttpResponseMessage

protected internal virtual async Task ProcessMultiPartResponseAsync(HttpResponseMessage response)
{
    var multipart = await response.Content.ReadAsMultipartAsync();
    await Task.WhenAll(multipart.Contents.Select(ProccessContentAsync));
}

protected async Task ProccessContentAsync(HttpContent content)
{
    var location = content.Headers.GetValues("Location").FirstOrDefault(); //nada
    //...
}

我已经使用fiddler验证了
位置
标题实际上在响应中:


并且正在成功读取其他标头:


通过检查非公共属性
headers.invalidHeaders
我看到
Location
列表,如下所示,我觉得这很可疑


这是我的问题吗?如果是这样的话,我怎样才能避开它。如果不是,我做错了什么?非常感谢你的帮助

http状态代码是什么?@zespri状态代码是200 OK我怀疑位置头不是此状态代码的有效头。它应该是201或3xx。是的,我不怀疑它不是。不幸的是,我不能控制这个API。它是RETS(是RETS,不是rest)规范的一部分,那么您需要一个能够容忍这种情况的http客户机。您正在使用的(标准的)符合标准,不允许使用。http状态码是什么?@zespri状态码是200?我怀疑Location标头不是此状态码的有效标头。它应该是201或3xx。是的,我不怀疑它不是。不幸的是,我不能控制这个API。它是RETS(是RETS,不是rest)规范的一部分,那么您需要一个能够容忍这种情况的http客户机。您正在使用的(标准版)似乎遵守标准,并且不容忍。