利用ASP傳送和接收XML資料的處理方法

發表於2019-04-02

因為要做移動夢網WAP的一些介面,所以要用到這種方式,這個是ASP版本的,利用了MSXML2.XMLHTTP對像

request.asp

  1. dim Https 
  2. set Https=server.createobject("MSXML2.XMLHTTP") 
  3. '定義一個XMLHTTP對像 
  4. Https.open "POST","http://127.0.0.1/testpost/response.asp",false 
  5. Https.send " echo 
  6. 123456 987654 
  7. 11111 22222 " 
  8. if Https.readystate=4 then 
  9.  response.write "提交成功" 
  10.  'readstate讀取狀態為4則成功,繼續後面的,不成功當然就不用繼續處理了 
  11.  dim objstream 
  12.  set objstream = Server.CreateObject("adodb.stream") 
  13.  '定義一個stream,因為讀過來的直接拿出來是亂碼的,所以得處理一下 
  14.  objstream.Type = 1 
  15.  objstream.Mode =3 
  16.  objstream.Open 
  17.  objstream.Write Https.responseBody 
  18.  objstream.Position = 0 
  19.  objstream.Type = 2 
  20.  objstream.Charset = "GB2312" 
  21.  html = objstream.ReadText 
  22.  '轉好碼,就放到html裡,好關閉這些對像 
  23.  objstream.Close 
  24.  set objstream = nothing 
  25.  set https=nothing 
  26. end if 
  27. response.write html
  28. response.asp
  29. '建立DOMDocument物件 
  30. Set xml = Server.CreateObject ("msxml2.DOMDocument") 
  31. xml.async = False
  32. '裝載POST資料 
  33. xml.Load Request 
  34. If xml.parseError.errorCode <> 0 Then 
  35.  response.write "不能正確接收資料" & "Description: " & xml.parseError.reason & "<br>Line: " & xml.parseError.Line 
  36. End If
  37. set blogchild=xml.getElementsByTagName("misc_command") 
  38. 'the_text=blogchild.item(0).childnodes(1).text 
  39. 'the_text=blogchild.item(0).text 
  40. 'for i=0 to blogchild.length-1 
  41. response.write the_text

利用這種方法,ASP裡呼叫Servlet或Web Service都是很輕鬆的!

相關文章