我正在尝试在IIS5.1/ASP-Classic(xp pro开发框)下实现一个REST接口。到目前为止,我还找不到在put http方法下检索请求内容变量所需的咒语。
请求如下:
PUT http://localhost/rest/default.asp?/record/1336
Department=Sales&Name=Jonathan%20Doe%203548
我如何阅读
Department
和
Name
我的ASP代码中的值?
Request.Form
似乎只支持POST请求。
Request.ServerVariables
只有标题信息。
Request.QueryString
也不能让我了解内容…
根据AnthonyWjones和ARS的回复,我沿着BinaryRead路径前进,并提出了下面的第一个尝试:
var byteCount = Request.TotalBytes;
var binContent = Request.BinaryRead(byteCount);
var myBinary = '';
var rst = Server.CreateObject('ADODB.Recordset');
rst.Fields.Append('myBinary', 201, byteCount);
rst.Open();
rst.AddNew();
rst('myBinary').AppendChunk(binContent);
rst.update();
var binaryString = rst('myBinary');
var contentString = binaryString.Value;
var parameters = {};
var pairs = HtmlDecode(contentString).split(/&/);
for(var pair in pairs) {
var param = pairs[pair].split(/=/);
parameters[param[0]] = decodeURI(param[1]);
}
This blog post by David Wang
和一个
HtmlDecode()
AndyOakley在blogs.msdn.com上的功能也起了很大作用。
我确信这里有1001个臭虫,但至少我又在移动了。谢谢。