gpt4 book ai didi

javascript - IIS5.1和ASP-classic下HTTP PUT请求的参数检索?

转载 作者:行者123 更新时间:2023-11-28 10:35:35 25 4
gpt4 key购买 nike

我正在尝试在IIS5.1/ASP-classic(XP-Pro开发盒)下实现REST接口(interface)。到目前为止,我还没有找到在PUT HTTP方法下检索请求内容变量所需的咒语。

请求如下:

PUT http://localhost/rest/default.asp?/record/1336

Department=Sales&Name=Jonathan%20Doe%203548

如何将 DepartmentName 值读取到我的 ASP 代码中?

Request.Form 似乎仅支持 POST 请求。 Request.ServerVariables 只能让我获取 header 信息。 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 ,以及来自 blogs.msdn.com 上的 Andy Oakley 的 HtmlDecode() 函数也有很大帮助。

手动进行 split 和逃逸,我确信这里有 1001 个错误,但至少我又移动了。谢谢。

最佳答案

不幸的是,ASP 早于 REST 概念很多年。

如果您要使用 RESTFull,那么我会考虑不使用 url 编码的表单数据。请改用 XML。您将能够接受 XML 实体主体:-

 Dim xml : Set xml = CreateObject("MSXML2.DOMDocument.3.0")
xml.async = false
xml.Load Request

否则,您将需要在 Request 对象上使用 BinaryRead,然后费力地将字节数组转换为文本,然后自己解析 url 编码以及解码转义序列。

关于javascript - IIS5.1和ASP-classic下HTTP PUT请求的参数检索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1100093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com