.NET WebClient是否遵循 Location 标头,该标头应与201 Created
响应一起发送?如果是,有没有办法禁用它?
此外,我正在寻找一种方法来检索Location头的值,因为我想向用户显示创建的资源的链接。
答案 0 :(得分:3)
检查.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
集合中(或使用异步时的事件args)。