【发布时间】:2010-11-21 19:13:51
【问题描述】:
.NET WebClient 是否遵循应与201 Created 响应一起发送的 Location 标头?如果是,有没有办法禁用它?
此外,我正在寻找一种方法来检索 Location 标头的值,因为我想向用户显示创建的资源的链接。
【问题讨论】:
标签: .net rest redirect webclient
.NET WebClient 是否遵循应与201 Created 响应一起发送的 Location 标头?如果是,有没有办法禁用它?
此外,我正在寻找一种方法来检索 Location 标头的值,因为我想向用户显示创建的资源的链接。
【问题讨论】:
标签: .net rest redirect webclient
检查了 .NET 框架源代码,答案如下: WebClient 使用 HttpWebRequest,它使用以下逻辑进行以下重定向:
else if (AllowAutoRedirect && (
ResponseStatusCode==HttpStatusCode.Ambiguous || // 300
ResponseStatusCode==HttpStatusCode.Moved || // 301
ResponseStatusCode==HttpStatusCode.Redirect || // 302
ResponseStatusCode==HttpStatusCode.RedirectMethod || // 303
ResponseStatusCode==HttpStatusCode.RedirectKeepVerb )) // 307
{
Location 标头的值在 WebClient 的 ResponseHeaders 集合中(或使用异步时的事件参数)。
【讨论】: