我正在使用RestSharp,并且第一次写了一篇文章,我有很多GET请求,这些请求都很好。Rest服务在python中,但我不认为这对这个问题至关重要。这是我的代码:
var client = new RestClient { BaseUrl = _baseUrl };
var request = new RestRequest("nameOfPostMethod", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(new { name, description });
request.AddHeader("accept", "application/json");
var response = client.Execute(request);以下是我得到的原始回应:
[{"name": "405 - Method Not Allowed", "data":
[["Class", "werkzeug.exceptions.MethodNotAllowed"], ["Category", "Client Error"],
["Code", "405"], ["Name", "Method Not Allowed"], ["request.method", "GET"],
["request.url", "http://myUrl/nameOfPostMethod"], ["error.message", "405 Method
Not Allowed"], ["error.description", null]]}]最突出的是这句话,它似乎认为我在写一篇文章,而不是一篇文章:
["request.method", "GET"]
["error.message", "405 Method Not Allowed"]对我可能做错了什么有什么建议吗?
更新:
我下载了小提琴,并试图看到发生了什么,有趣的是,当我看标题,它确实显示了一个GET。这是我在小提琴里看到的截图:

我甚至试图改变:
client.Execute(request);至
client.Post(request);但它仍然显示了同样的东西。有什么想法吗?
发布于 2014-09-30 13:52:04
原来这是一个在was服务器端的重定向问题,所以与Rest无关
我要求删除这个问题,以避免混淆。
发布于 2014-09-29 21:17:04
这是跨域请求吗?如果是这样的话,那么我怀疑RestSharp在执行实际的HTTP之前正在发出一个CORS预运行请求。如果不允许跨域POST,"405方法不允许“是对CORS请求的正确响应。我不确定这个屏幕快照是否显示了所有的HTTP头。它是否在GET中发送访问控制-*头文件?这就证实了这一点。
https://stackoverflow.com/questions/26018047
复制相似问题