如何用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,所以必须想办法解决
真的是好郁闷,忘解决过此类问题的大大们不吝赐教啊~~!
.6.6是版本号,2003没有这个版本,2008才有,2003服务器你改成Msxml2.ServerXMLHTTP或者Msxml2.ServerXMLHTTP.3.0就可以了 参考技术A 现在用ajax谁还写这些啊,用jquery一个方法就解决了、、、追问
ajax只能在前台用,不能在后台用,我是要把前台提交的某一个网站的数据,在后台去那个网站上进行验证。就算在前台用 ajax进行验证了,也要在后台入库前进行再一次验证,保证数据的真实性。
本回答被提问者采纳以上是关于如何用MSXML2.ServerXMLHTTP发送POST数据的主要内容,如果未能解决你的问题,请参考以下文章
CreateObject("Msxml2.ServerXMLHTTP.6.0") 在 windows 2003 上不能正常工作