求教 PHP 如何用 post 发送 xml 数据请求?
工作上碰到需要通过post
发送xml
数据请求第三方接口,由于没接触过XML
类型的请求,Google了一下,找出来的都是通过curl
来请求的。代码如下:
$xmlData = "cmd=1234&msg=<?xml version='".$q."' encoding='".$e."'?>
<msg v='1.0' id='123456'>
<head>
<agentid>123456</agentid>
<cmd>1234</cmd>
<timestamp>20190813150813</timestamp>
<cipher>abcdgsde123</cipher>
</head>
<body><file lotteryid='123' issue='20190813'/></body>
</msg>";
$header[] = "Content-type: text/xml";
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);
$response = curl_exec($ch);
xml
请求参数格式是按对面提供文档来的,但一直没有请求成功,第三方接口那边返回的信息是没有传入xmlData
这些数据进去,无奈他们也没有PHP的DEMO示例可以参考,自己网上找的文章又千篇一律。
请问下xml
请求是否只能通过curl
方式,有其他方法吗?
在php程序内的话也就是 curl 了, 检查一下自己拼接的xml格式是否正确,以及curl的时候 是否需要添加一些header