Method、ContentType、ContentLength 位置问题

作者:vkvi 来源:ITPOW(原创) 日期:2009-4-29

HttpWebRequest 的这三个属性均应该在请求流写入之前。

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postBuffer.Length;
using (Stream requestStream = request.GetRequestStream())
{
    requestStream.Write(postBuffer, 0, postBuffer.Length);
    requestStream.Close();
}
  • 如果 Method 在 requestStream.Write 之后设置,则会出现“无法发送具有此谓词类型的内容正文”的错误;(GET 方法下,不能调用 GetRequestStream())
  • 如果 ContentType 在 requestStream.Write 之后设置,则无法正确提交数据;
  • 如果 ContentLength 在 requestStream.Write 之后设置,则会出现“写入开始后不能设置此属性”的错误。
相关文章