php通过curl方式发送接受xml数据
目录
1、php通过curl方式发送xml数据
2、php通过file_get_contents接受curl方式发送xml数据
1、php通过curl方式发送xml数据
<?php
function sendXmlData($url, $xmlData) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
// 使用示例
$xmlData = '<root><name>John</name><age>25</age></root>';
$url = 'http://localhost/test22.php';
$response = sendXmlData($url, $xmlData);
// 处理响应
echo $response;
发送XML数据的函数名为sendXmlData
,它接受两个参数:$url
是目标服务器的URL,$xmlData
是要发送的XML数据。函数内部使用curl
函数发送HTTP POST请求,并返回服务器的响应。您可以直接调用sendXmlData
函数来发送XML数据并处理响应结果。
2、php通过file_get_contents接受curl方式发送xml数据
<?php
function receiveXmlData() {
$xmlData = file_get_contents('php://input');
// 解析XML数据
$xml = simplexml_load_string($xmlData);
// 处理XML数据
// 例如,获取根元素的值
$name = $xml->name;
$age = $xml->age;
// 返回处理结果
$response = "Received XML Data:\nName: $name\nAge: $age";
return $response;
}
// 使用示例
$response = receiveXmlData();
echo $response;
函数receiveXmlData
从输入流(php://input
)中获取接收到的XML数据,并使用simplexml_load_string
函数将其解析为可操作的XML对象。您可以根据需要进一步处理XML数据,并创建一个包含您要返回的响应的字符串。最后,可以通过调用receiveXmlData
函数并将结果输出来查看处理结果
结果: