php通过curl方式发送接受xml数据

目录

1、php通过curl方式发送xml数据

2、php通过file_get_contents接受curl方式发送xml数据


1、php通过curl方式发送xml数据
php 复制代码
<?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 复制代码
<?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函数并将结果输出来查看处理结果

结果:

相关推荐
AA陈超17 小时前
Lyra学习5:GameFeatureAction分析
c++·笔记·学习·ue5·lyra
YJlio17 小时前
Autologon 学习笔记(9.13):安全启用“自动登录”的边界、风险与替代方案
笔记·学习·安全
我的golang之路果然有问题17 小时前
word中latex插入矩阵的语法问题
笔记·学习·矩阵·word·latex·template method·分享
xixixi7777717 小时前
解析常见的通信流量和流量分析
运维·开发语言·网络·安全·php·通信·流量
游戏开发爱好者817 小时前
Charles抓包工具怎么用 Charles抓包教程、网络调试技巧与HTTPS配置全流程
网络·ios·小程序·https·uni-app·php·webview
万岳软件开发小城17 小时前
在线教育系统源码开发指南:功能、架构、部署全解析(2025最新版)
架构·开源·php·在线教育系统源码·教育app开发·教育软件开发
万岳科技程序员小金17 小时前
在线教育系统源码选型对比:PHP、Java、Flutter、UniApp谁更适合?
java·uni-app·php·软件开发·在线教育系统源码·教育app开发·教育软件开发
暗然而日章17 小时前
C++基础:Stanford CS106L学习笔记 2 初始化与引用
c++·笔记·学习
pq113_617 小时前
开源软件学习笔记 - little_flash + littlefs
笔记·学习·spi nand flash·ft4222h·little_flash
im_AMBER17 小时前
Canvas架构手记 08 副作用与同步 | 不可变更新 | 调试与错误边界 | ESLint
前端·笔记·学习·react.js·架构·typescript·前端框架