ASPでXMLデータを送受信する方法は?

ASPでXMLデータの送信と受信は次の方法で行うことができます:

  1. XMLオブジェクトを作成するには、Server.CreateObject(“MSXML2.ServerXMLHTTP”) を使用します。
  2. URLとリクエスト方法(GETまたはPOST)を設定し、リクエストヘッダ情報を設定します。
  3. XMLデータをサーバーに文字列形式で送信する場合は、Sendメソッドを使用しましょう。
  4. レスポンスを受け取るためにはResponseTextプロパティを使用して、レスポンスのテキストを取得できます。

以下はサンプルコードです:

<%
dim xml, url, method, postData

' 创建XML对象
Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

' 设置请求的URL和方法
url = "http://example.com/endpoint"
method = "POST"

' 设置请求头信息
xml.setRequestHeader "Content-Type", "text/xml"
xml.setRequestHeader "User-Agent", "ASP"

' 构建XML数据
postData = "<xml><data>Hello World</data></xml>"

' 发送请求
xml.open method, url, false
xml.send postData

' 获取服务器返回的响应
Response.Write xml.ResponseText

' 释放资源
Set xml = Nothing
%>
  1. リクエストのメソッドとデータのフォーマットに応じてXMLデータを受信する方法が決まります。
  2. XMLデータをPOSTメソッドで送信した場合、Request.InputStreamオブジェクトを使用してXMLデータを受け取ることができます。Request.BinaryReadメソッドを使用して入力ストリームの内容をバイト配列として読み取り、それを文字列に変換することができます。
  3. GETメソッドでXMLデータが送信された場合、Request.QueryStringオブジェクトを使用してXMLデータを取得し、それを処理できます。

以下是一个接受XML数据的示例代码:

<%
dim xmlData

' 接收POST请求的XML数据
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    xmlData = Request.BinaryRead(Request.TotalBytes)
    xmlData = BytesToString(xmlData)
End If

' 接收GET请求的XML数据
If Request.ServerVariables("REQUEST_METHOD") = "GET" Then
    xmlData = Request.QueryString("xmlData")
End If

' 处理XML数据
Response.Write "Received XML Data: " & xmlData

Function BytesToString(bytes)
    Dim adoStream
    Set adoStream = Server.CreateObject("ADODB.Stream")
    adoStream.Type = 1 ' adTypeBinary
    adoStream.Open
    adoStream.Write bytes
    adoStream.Position = 0
    adoStream.Type = 2 ' adTypeText
    adoStream.Charset = "UTF-8"
    BytesToString = adoStream.ReadText
    adoStream.Close
    Set adoStream = Nothing
End Function
%>

注意:上記のコードはサンプルとして提供されていますので、実際のニーズに合わせて調整してください。Server.CreateObjectでCOMオブジェクトを作成する際には、関連するCOMコンポーネントが登録されていて利用可能であることを確認してください。

bannerAds