发送POST http请求时遇到问题。它在(HttpWebResponse)request.GetResponse()
停止,并在超时后抛出超时过期异常,但如果我通过GET发送相同的请求,则一切正常。
有没有人知道它是什么?
try
{
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
if (content != null)
request.GetRequestStream().Write(content, 0, content.Length);
using (var response = (HttpWebResponse)request.GetResponse())
{
return new Response(response);
}
}
catch (WebException exception)
{
return new Response(exception);
}
答案 0 :(得分:0)
最有可能的原因是服务器上的代码没有将此方法暴露为POST。如果服务器没有明确设置anyhting,则默认为GET。
答案 1 :(得分:0)
解决了此代码的问题:
using (var requestStream = request.GetRequestStream())
{
if (content != null)
{
requestStream.Write(content, 0, content.Length);
}
requestStream.Close();
using (var response = (HttpWebResponse)request.GetResponse())
{
return new Response(response);
}
}