【发布时间】:2020-03-17 15:45:11
【问题描述】:
我使用以下代码调用了一个用 C# 编写并托管在 IIS 中的 Web 服务,但它返回错误
远程服务器返回错误:(405) 方法未启用
但是当我使用具有相同输入信息的 Postman 时,它可以正常工作。
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url_to_post);
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.KeepAlive = true;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(json_object);
streamWriter.Flush();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
// return result;
}
【问题讨论】:
-
您确定
url_to_post与您在 Postman 中的匹配吗?就服务器而言,它不知道是谁在调用它。只要请求采用适当的形式,它就会以同样的方式对待它。您需要弄清楚您的请求之间有什么不同。