利用ASP从远程服务器上接收XML数据

本文介绍了一个使用 ASP 中的 XMLHTTP 对象进行 POST 请求的例子。请求发送到本地服务器的一个页面,并包含 XML 格式的数据。响应数据被解析并显示出来。

 

request.asp页面<%
dim Https
set Https=server.createobject("MSXML2.XMLHTTP")
'定义一个XMLHTTP对像
Https.open "POST","http://127.0.0.1/response.asp",false
Https.send 
"<?xml version=""1.0""?><misc_command version=""1.0""><command_name>echo</command_name><command_data_block><sid>123456</sid><service_id>987654</service_id><sp_id>11111</sp_id><sp_password>www.QQView.com</sp_password></command_data_block></misc_command>"
if Https.readystate=4 then
  response.write 
"提交成功"
  
'readstate读取状态为4则成功,继续后面的,不成功当然就不用继续处理了
     dim objstream
    
set objstream = Server.CreateObject("adodb.stream")
    
'定义一个stream,因为读过来的直接拿出来是乱码的,所以得处理一下
    objstream.Type = 1
    objstream.Mode 
=3
    objstream.Open
    objstream.Write Https.responseBody
    objstream.Position 
= 0
    objstream.Type 
= 2
    objstream.Charset 
= "GB2312"
    html 
= objstream.ReadText
    
'转好码,就放到html里,好关闭这些对像
    objstream.Close
    
set objstream = nothing
    
set https=nothing
end if
response.write html
%>
response.asp页面
<%
Set xml = Server.CreateObject ("msxml2.DOMDocument")
xml.async 
= False

'装载POST数据
xml.Load Request
If xml.parseError.errorCode <> 0 Then
 response.write 
"不能正确接收数据" & "Description: " & xml.parseError.reason & "<br>Line: " & xml.parseError.Line
End If

set blogchild=xml.getElementsByTagName("misc_command")
the_text
=blogchild.item(0).childnodes(1).childnodes(0).text
response.write the_text

set blogchild = nothing
set xml = nothing
%>或者<%
Set objXML = Server.CreateObject ("msxml2.DOMDocument")
objXML.async 
= False

'装载POST数据
objXML.Load Request
if objXML.ParseError.errorCode <> 0 then
    Response.Write(
"Error: " & objXML.parseError.reason & "<br>")
    Response.Write(
"Code: 0x" & hex(objXML.parseError.errorCode) & "<br>")
    Response.Write(
"At Line: " & objXML.parseError.line & "<br>")
    Response.Write(
"At pos: " & objXML.parseError.linePos & "<br>")
                
else
    
set objRootElement = objXML.documentElement
    
if not isObject(objRootElement) then
        Response.Write(
"no file loaded")
    
else
        Response.Write(objRootElement.childnodes(
1).childnodes(1).text)
    
end if
    
set objRootElement  = nothing
end if

set objXML  = nothing
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值