HTTP DELETE请求

Jer*_*ron 8 c# http http-delete

我正在尝试从我的代码后面的C#中执行HTTP DELETE,但我无法执行此操作.在查看该WebRequestMethods.Http类型的成员后,我甚至不确定这是否可行.

这是我的代码:

try
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost/NameFiles/00000.txt");
    request.Method = "DELETE";
    request.ContentType = "application/x-www-form-urlencoded";
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

    if (response.StatusCode == HttpStatusCode.OK)
    {
        // some code
    }
}
catch (Exception ex)
{
    ex.ToString();
}
Run Code Online (Sandbox Code Playgroud)

从我的开发环境运行这个我得到:"远程服务器返回错误:(401)未经授权."

我在服务器上收到了不同的结果,我认为它与IIS中的设置有关:"远程服务器返回错误:(501)未实现."

另外,正如我在下面的答案的评论中提到的,我能够使用同一服务器上的vbscript从经典的asp页面发送DELETE请求到与使用c#的aspx页面请求相同的位置.为什么这些会有所不同?

Jul*_*hke 0

401 意味着服务器希望您进行身份验证(也许它只允许对读操作进行匿名访问)?

此外,您可能想要删除 Content-Type 标头,除非您确实计划发送带有请求的正文(这对于 DELETE 来说是非正统的...)