如何用MSXML2.ServerXMLHTTP发送POST数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用MSXML2.ServerXMLHTTP发送POST数据相关的知识,希望对你有一定的参考价值。

其实就是ajax的服务器端衍生版,一般的ajax创建object的方式
var XMLHttp=null
if (window.XMLHttpRequest)

XMLHttp=new XMLHttpRequest()

else if (window.ActiveXObject)

XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")


XMLHttp.open("post",url,false);

XMLHttp.send(" ");
if(XMLHttp.Readystate ==4&XMLHttp.status==200)
var XMLDoc=XMLHttp.responseXML;//返回XML格式体
var Text=XMLHttp.responseText;//返回文本
照搬ajax写法就可以将XMLHttp替换为
var XMLHttp=server.createobject("msxml2.serverxmlhttp5.0");//若安装了其他版本改之
之后的数据发送方式是没有变化的。
MSXML2.ServerXMLHTTP是为不同 Web 服务器之间的服务器安全 HTTP 访问提供方法和属性,使用此对象在不同的 Web 服务器之间交换 XML 数据

XMLHTTP 为客户端应用程序而设计,并依赖于基于 Microsoft Win32 Internet (WinInet) 而构建的 URLMon

简单的说就是一个是用于客户端WEB后端传递数据,一个是服务器后端传递数据
参考技术A 本例使用ADODB.Stream 对象来保存将发送回服务器的二进制数据。 如果已经以并列模式安装了更高版本的 MSXML,要使用该特定版本运行示例代码,必须明确使用该版本的 GUID 或 ProgID。例如,MSXML 第 4 版仅在并列模式下安装。

CreateObject("Msxml2.ServerXMLHTTP.6.0") 在 windows 2003 上不能正常工作

CreateObject("Msxml2.ServerXMLHTTP.6.0") 在 windows 2003 上不能正常工作 ,但是在Windows 7 下测试正常。给出的URL网址是没有问题的,直接访问和在win7下采集都正常。
在Windows 2003 下报错:
msxml6.dll 错误 '80072f78'
The server returned an invalid or unrecognized response
test.asp,行 143
代码如下:
140 Set Retrieval = CreateObject("Msxml2.ServerXMLHTTP.6.0")
141 With Retrieval
142 .Open "get", url, False, "", ""
143 .Send
144 If .status <> "200" then
145 Response.Write("<script>alert('数据获取错误');history.back();</script>")
146 Response.End()
147 End if
148 GetBody = .ResponseBody
------------------------------------------------------
2003上已经安装 XMLHTTP6 sp2 及最新补丁 KB2758686

用探针也提示 支持 Msxml2.ServerXMLHTTP.6.0

不知道是不是在IIS6上还要做些什么设置呢,因为配置限制,服务器不能升级到2008,所以必须想办法解决
真的是好郁闷,忘解决过此类问题的大大们不吝赐教啊~~!

Msxml2.ServerXMLHTTP.6.0
.6.6是版本号,2003没有这个版本,2008才有,2003服务器你改成Msxml2.ServerXMLHTTP或者Msxml2.ServerXMLHTTP.3.0就可以了
参考技术A 现在用ajax谁还写这些啊,用jquery一个方法就解决了、、、追问

ajax只能在前台用,不能在后台用,我是要把前台提交的某一个网站的数据,在后台去那个网站上进行验证。就算在前台用 ajax进行验证了,也要在后台入库前进行再一次验证,保证数据的真实性。

本回答被提问者采纳

以上是关于如何用MSXML2.ServerXMLHTTP发送POST数据的主要内容,如果未能解决你的问题,请参考以下文章

msxml2.serverxmlhttp对象怎么用

CreateObject("Msxml2.ServerXMLHTTP.6.0") 在 windows 2003 上不能正常工作

vbs http

VBA如何捕获请求超时错误?

使用 HttpWebRequest 通过 SSL 发送请求时出现错误 502(错误网关)

如何使用 VBA 从 Excel 向服务器发送 HTTP POST 请求?