一个J2ME客户端正在使用分块传输编码发送HTTP POST请求。
当ASP.NET(在IIS6和WebDev.exe.server中)尝试读取请求时,它将Content-Length设置为0。我想这是可以的,因为当请求加载时,Content-length是未知的。
然而,当我读取Request.InputStream到末尾时,它返回0。
以下是我用于读取输入流的代码。
using (var reader = new StreamReader(httpRequestBodyStream, BodyTextEncoding)) {
string readString = reader.ReadToEnd();
Console.WriteLine("CharSize:" + readString.Length);
return BodyTextEncoding.GetBytes(readString);
}
我可以使用 Fiddler 模拟客户端的行为,例如:
URL http://localhost:15148/page.aspx
请求头: User-Agent: Fiddler Transfer-Encoding: Chunked Host: somesite.com:15148
请求体: 兔子 兔子 兔子 兔子。感谢您的到来,这非常有用!
从上面读取我的请求体将返回一个零长度的字节数组...很糟糕...
是否有人知道如何在IIS和ASP.NET开发服务器(Cassini)上启用分块编码?
我为IIS找到了this script,但它不起作用。