Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在curl中传递XML_Xml - Fatal编程技术网

如何在curl中传递XML

如何在curl中传递XML,xml,Xml,我想使用curl发布XML数据。我正在使用以下代码行: $data = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n"; $data.= "<contacts>\r\n"; $data.= "<contact>\r\n"; $data.= "<firstName>$firstName</firstName>\r\n"; $data.=

我想使用curl发布XML数据。我正在使用以下代码行:

            $data = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
    $data.= "<contacts>\r\n";
    $data.= "<contact>\r\n";
    $data.= "<firstName>$firstName</firstName>\r\n";
    $data.= "<lastName>$lastName</lastName>\r\n";
    $data.= "<email>$Email_Address</email>\r\n";
    $data.= "<status>normal</status>\r\n";
    $data.= "<contact>\r\n";
    $data.= "</contacts>\r\n";

    $url =  "https://app.sandbox.icontact.com/icp/a/".$account_id."/c/".$client_folder_id."/contacts";
        $handle = curl_init();
        curl_setopt($handle, CURLOPT_URL, $url);
        curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($handle, CURLOPT_POST, true);
        curl_setopt($handle, CURLOPT_POSTFIELDS,$data);
        $response = curl_exec($handle);
$data=''。\r\n;
$data.=“\r\n”;
$data.=“\r\n”;
$data.=“$firstName\r\n”;
$data.=“$lastName\r\n”;
$data.=“$Email\u Address\r\n”;
$data.=“正常\r\n”;
$data.=“\r\n”;
$data.=“\r\n”;
$url=”https://app.sandbox.icontact.com/icp/a/“$account\u id.”/c/“$client\u folder\u id.”/contacts”;
$handle=curl_init();
curl_setopt($handle,CURLOPT_URL,$URL);
curl_setopt($handle,CURLOPT_HTTPHEADER,$headers);
curl_setopt($handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($handle,CURLOPT_POST,true);
curl_setopt($handle,CURLOPT_POSTFIELDS,$data);
$response=curl\u exec($handle);
当我收到响应时,它会向我显示以下消息:

           <?xml version="1.0" encoding="UTF-8"?>
           <response>
       <errors>
    <error>The XML that was passed in your request was malformed. Please provide valid XML.</error>
       </errors>
           </response>

在您的请求中传递的XML格式不正确。请提供有效的XML。
我需要在XML输入中更改的内容


谢谢

这通常是一个问题,您需要在发送xml之前对其进行url编码。尝试
$data=urlencode($data)


这将为您提供诸如
%3C?xml version=“1.0”encoding=“UTF-8”?%3E等输出。

在发送xml之前,通常需要对其进行url编码。尝试
$data=urlencode($data)


这将为您提供输出,例如
%3C?xml version=“1.0”encoding=“UTF-8”?%3E
等。

此xml代码在RestClient此xml代码在RestClients中工作正常此xml代码在RestClients中工作正常,但它与xml不同,仍然会遇到相同的问题请尝试删除\r\n。尝试使用urlencoding和不使用urlencoding。我找到了解决方案。我在关闭联系人标记时使用了和fount错误,但这与xml不同,仍然会遇到相同的问题。请尝试删除\r\n。尝试使用urlencoding和不使用urlencoding。我找到了解决方案。我使用了urlencoding,并且关闭联系人标记时出现了fount错误