一尘不染

使用HTTP POST和PHP发送XML数据

php

我需要发送这个XML

      <?xml version="1.0" encoding="UTF-8"?>
<gate>
   <country>NO</country>
   <accessNumber>1900</accessNumber>
   <senderNumber>1900</senderNumber>
   <targetNumber>4792267523</targetNumber>
   <price>0</price>
   <sms>
      <content><![CDATA[This is a test æøå ÆØÅ]]></content>
   </sms>
</gate>

到SMS网关服务。该服务侦听HTTP POST请求。XML必须嵌入POST请求的BODY中。

我使用的是PHP和CodeIgniter框架,但是我总共使用的是PHP
n00b,因此理想情况下,我需要一份详尽的指南,但是任何朝着正确方向的指针都将不胜感激。


阅读 326

收藏
2020-05-29

共1个答案

一尘不染

您可以使用cURL库发布数据:http :
//www.php.net/curl

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, "http://websiteURL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "XML=".$xmlcontent."&password=".$password."&etc=etc");
$content=curl_exec($ch);

postfield包含您需要发送的XML的位置-您将需要为API服务(我猜是Clickatell)期望的postfield命名

2020-05-29