如何在asp经典中获取作为正文发布的值的内容?

时间:2009-06-22 12:48:15

标签: http rest post asp-classic request

我已经看到了一些其他示例,其中xml消息发布在http请求的正文中,而不是在命名参数中...

在经典的asp中我有request.form对象,它允许我获取发布的值,但我必须指定参数的名称......

有什么方法可以获得帖子的全部内容吗?

我需要相当于

request.serverVariables(“QUERY_STRING”),但对于帖子,不是http请求的获取部分...

http://www.w3schools.com/ASP/coll_servervariables.asp

我必须使用request.binaryRead()???

非常感谢

ps:在java中,我使用request.getReader()来实现这一点... how to get a the value of an http post as a whole? parsing restful post

-

只是为了澄清一点事情

当我说一个值作为正文时,我的意思是消息的内容没有被包含,如param1 = value1& param2 = value2 ... paramx = valuex

消息是正文本身......你可以用任何ajax库(比如原型)来实现这一点来测试我是否使用了一个firefox插件让你这样做,它被命名为POSTER

https://addons.mozilla.org/en-US/firefox/addon/2691

  

用于与Web服务和其他Web资源交互的开发人员工具,可让您发出HTTP请求,设置实体主体和内容类型。这允许您与Web服务交互并检查结果......

3 个答案:

答案 0 :(得分:3)

您没有指定发布的实际内容类型,也不指定一旦获得它就打算用它做什么。

让我们暂时假设内容是XML,并且您希望将其加载到XML DOM中。

关于Request对象的一个​​有用的事实是它实现了IStream,其中流是POST的实体主体。另一个有用的事实是MSXML DOMDocument加载方法可以接受IStream的实现。因此: -

 Dim xml: Set xml = CreateObject("MSXML2.DOCDocument.3.0")
 xml.async = false
 xml.load Request

此代码将已发布的实体主体加载到DOM中。

答案 1 :(得分:1)

我想我找到了它

如果发出str(request.form),则获得表单元素的原始值...

也适用于request.querystring和request.cookies

它不能与request.serverVariables一起使用,抛出异常......

哦,检查调试器我还发现了一个完全没有文档的属性request.body,它看起来就像request.form属性......

答案 2 :(得分:-1)

您是否尝试遍历表单中的所有已发布值?如果在ASP.OLD中你可以这样做:

对于Request.Form中的每个字段