ASPでXMLデータを送受信する方法は?
ASPでXMLデータの送信と受信は次の方法で行うことができます:
- XMLオブジェクトを作成するには、Server.CreateObject(“MSXML2.ServerXMLHTTP”) を使用します。
- URLとリクエスト方法(GETまたはPOST)を設定し、リクエストヘッダ情報を設定します。
- XMLデータをサーバーに文字列形式で送信する場合は、Sendメソッドを使用しましょう。
- レスポンスを受け取るためには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
%>
- リクエストのメソッドとデータのフォーマットに応じてXMLデータを受信する方法が決まります。
- XMLデータをPOSTメソッドで送信した場合、Request.InputStreamオブジェクトを使用してXMLデータを受け取ることができます。Request.BinaryReadメソッドを使用して入力ストリームの内容をバイト配列として読み取り、それを文字列に変換することができます。
- 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コンポーネントが登録されていて利用可能であることを確認してください。