我们xmlrpc.php
有一个CMS,我正在尝试向xmlrpc.php
提供POST输入。
<methodCall>
<methodName>openads.view</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>Ronald</name>
<value>25</value>
</member>
<member>
</member>
<member>
<name>cookies</name>
<value>
<array>123123</array>
</value>
</member>
</struct>
</value>
</param>
<param><value><string>height</string></value></param>
<param><value><int>1</int></value></param>
<param><value><string>hjbj3h3</string></value></param>
<param><value><string>kj3n434kjn</string></value></param>
<param><value><boolean>1</boolean></value></param>
<param><value><array><data>342</data></array></value></param>
</params>
</methodCall>
我试图通过使用PHP将上面的XML POST输入提供给XMLRPC.php,但执行失败。我如何使用PHP输入所有这些输入?如果你有任何例子,你可以建议我。
答案 0 :(得分:2)
尝试使用cURL将xml作为POST请求发送。 数据以$ _POST [&#39; xml&#39;]的形式到达。 阅读xmlrpc.php库的文档,如果这被接受,则调整它。
$url = 'http://somewhere/xmlrpc.php';
$xmlString = '<methodCall>....'; // your xml
$post = array( // POST
'xml' => $xmlString;
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // <--- POST array
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($ch);
if(curl_errno($ch)) {
print curl_error($ch);
} else {
curl_close($ch);
}
echo $output;