![](/img/trans.png)
[英]GET request yields no response when using RestSharp but gets response in Postman
[英]When using RestSharp, I am getting MethodNotFound on a POST but the response thinks its a GET?
我正在使用RestSharp并第一次进行POST,我有许多GET请求都可以正常工作)。 Rest Service在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]]}]
出现在我身上的是这些行,似乎认为我在执行GET而不是POST:
["request.method", "GET"]
["error.message", "405 Method Not Allowed"]
有什么建议我可能在这里做错了吗?
我下载了提琴手,试图查看发生了什么,当我看标题时,有趣的是,它确实显示了GET。 这是我在提琴手中看到的屏幕截图:
我什至试图改变:
client.Execute(request);
至
client.Post(request);
但它仍然显示相同的内容。 有任何想法吗?
原来这是Web服务器端的重定向问题,所以与Rest Sharp无关
我已要求删除该问题,以免造成任何混乱。
这是跨域请求吗? 如果是这样,那么我怀疑RestSharp在执行实际的HTTP POST之前正在发出CORS预检请求。 如果不允许跨域POST,则“ 405不允许的方法”是对CORS请求的正确响应。 我不确定该屏幕快照是否显示所有 HTTP标头。 它是否在GET中发送Access-Control- *标头? 那将证实这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.