【问题标题】:XML RPC post request with cURL (PHP) not working带有 cURL (PHP) 的 XML RPC 发布请求不起作用
【发布时间】:2014-03-18 18:02:57
【问题描述】:

我想使用带有 cURL (PHP) 的 XML RPC api (http://www.zoho.com/creator/help/api/xml-rpc-api/xml-rpc-api-add-records.html) 将记录添加到 zoho creator。 我使用的代码是:

<?php 
if(isset($_POST['Submit'] )) {
    // if data is posted
    $urltopost = "https://creator.zoho.com/api/xml/write"; 
    $xml = '<ZohoCreator>
    <applicationlist>
        <application name=\'myapp\'>
            <formlist>
                <form name=\'my form\'>
                    <add>
                        <field name=\'fieldName\'>
                           <value>value</value>
                        </field>
                    </add>
                </form>
            </formlist>
        </application>
    </applicationlist>
</ZohoCreator>';

$datatopost = array (
'authtoken' => '*******', //my authtoken
'scope' => 'creatorapi',
'XMLString' => $xml ,
'zc_ownername' => '*****'//the owner name
);
// post via curl
$ch = curl_init ($urltopost);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$returndata = curl_exec ($ch);
?>

但这不起作用。有没有人有办法解决吗?谢谢。

【问题讨论】:

    标签: php curl xml-rpc


    【解决方案1】:

    $datatopost 上使用http_build_query(),否则将其发布为multipart/form-data

    curl_setopt ($ch, CURLOPT_POSTFIELDS, http_build_query($datatopost));
    

    【讨论】:

    • 感谢您的回答,我按照您说的做了,但没有解决问题。我做到了: echo "Returned data
      {$returndata}";但它只是显示返回的数据!似乎没有发送请求。
    猜你喜欢
    • 2014-12-13
    • 2015-06-24
    • 2012-07-29
    • 2019-12-19
    • 2020-08-14
    • 2021-02-10
    • 1970-01-01
    • 2018-04-03
    • 2015-12-06
    相关资源
    最近更新 更多