如何在xmlrpc.php中输入Post Data


How to input Post Data to xmlrpc.php?

我们有一个CMS的xmlrpc.php,我试图给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输入所有这些输入?

尝试使用cURL将xml作为POST请求发送。数据以$_POST['xml']的形式到达。请阅读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;