【发布时间】:2016-01-29 22:00:31
【问题描述】:
我正在使用 HttpClient 进行发布请求。我返回不允许的 405 方法。在 fiddler 中捕获跟踪时,它会以 GET 而不是 POST 的形式输出!
using (var client = new HttpClient())
{
var url = AppSettingsUtil.GetString("url");
var response = client.PostAsJsonAsync(url, transaction).Result;
}
我知道异步/等待问题。这是显示问题的简化示例。
是否有某种 web.config 或 machine.config 设置可能会影响这一点?其他请求(通过 RestSharp 发送)正确发送帖子
这是 fiddler 捕获的内容。在提琴手中重新运行跟踪也会返回 405(如预期的那样)。手动将其切换到 POST 并从提琴手运行作品。
另外,可能是因为方法切换到了GET,fiddler中没有捕获到body,我不得不手动粘贴到JSON中
GET /*URL*/ HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: /*host*/
Connection: Keep-Alive
【问题讨论】:
-
可能是一个错误,每个线程stackoverflow.com/questions/7105096/…
-
当我的网址不是以
/结尾时,我收到了这个 -
我的 URL 不是以 / 结尾的,我也是这种情况@PiotrPerak
标签: c# json http httpclient dotnet-httpclient