C#使用RestSharp Delete获取响应405

时间:2015-04-02 13:44:18

标签: c# restsharp methodnotfound

我尝试通过调用Delete API来删除配置。 对于我的API请求,我使用Restsharp,因为它适用于GET和POST。

现在我有以下问题。当我尝试调用delete时,我得到错误

  

405“MethodNotAllowed”

在我的回复中,我有以下信息:

  

“不允许使用HTTP方法,支持的方法:GET”

Code snipet:

var client = new RestClient("http://test.de/");
var request = new RestRequest("testrules/test");
request.Credentials = new NetworkCredential("username", "password");
var response = client.Delete(request);

我还尝试了client.Execute()方法,并添加了我要删除的元素的ID,以设置AddParameter()AddUrlSegment()方法。

我跟踪了Fiddler的回复:

DELETE http://test.de/testrules/test HTTP/1.1 
Accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml 
User-Agent: RestSharp/105.0.1.0 
Host: test.de
Content-Length: 0
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

当我在Chrome上使用Advanced RestClient尝试我的请求时,我会在Fiddler中收到以下请求:

DELETE http://test.de/testrules/test HTTP/1.1
Host: test.de
Connection: keep-alive
Authorization: Basic Q29udGludW91czp0ZXN0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
Content-Type: application/json
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4

有人知道使用RestSharp删除的示例吗? 我已经从stackoverflow:RestSharp simple complete example以及RestSharp文档中的示例中查看了这个示例,但这些示例都没有帮助我。

1 个答案:

答案 0 :(得分:0)

您是否有可以发布的Rest API服务代码?根据您的编写,感觉就像restsharp客户端使用HTTP DELETE关键字发出Delete请求,而Rest API端点接受Delete方法的HTTP GET;但是如果没有关于服务器端代码的信息,很难说。