利用ASP从远程服务器上接收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>22222</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、付费专栏及课程。

余额充值