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页面请求相同的位置.为什么这些会有所不同?
401 意味着服务器希望您进行身份验证(也许它只允许对读操作进行匿名访问)?
此外,您可能想要删除 Content-Type 标头,除非您确实计划发送带有请求的正文(这对于 DELETE 来说是非正统的...)