我正在使用zoho api并在我提交表单后编辑用户详细信息时创建URL并使用CURL调用URL以便我可以将xml响应作为“记录更新”。下面是我用来使用CURL发送GET请求的代码,我也尝试了POST请求,但是没有工作
$ch = curl_init($url);
$Rec_Data = curl_exec($ch);
var_dump($Rec_Data);
它返回“false”,但是当我使用相同的URL并手动放入浏览器地址栏并点击它时它工作并说“记录更新”但是在这种情况下我无法检查响应并通知用户操作是成功的或者其他什么。
为什么相同的网址不能与CURL GET或POST一起使用?下面是我的网址...如果你用浏览器地址栏调用下面的网址...它会工作,但有CURL它没有
https://crm.zoho.com/crm/private/xml/Leads/updateRecords?newFormat=1&apikey=*$&ticket=ada47f67f130619aaeab5a40069705c8&xmlData= <Leads> <row no="1"> <FL val="LEADID">418176000000055001</FL> <FL val="SMOWNERID">418176000000047003</FL> <FL val="Lead Owner">418176000000047003</FL> <FL val="Company"> Demo </FL> <FL val="First Name"> Test </FL> <FL val="Last Name"> Lead </FL> <FL val="Designation"> This </FL> <FL val="Email"> email1@yopmail.com </FL> <FL val="Phone"> 242377 </FL> <FL val="Mobile"> 9865986598 </FL> <FL val="Website"> www.google.com </FL> <FL val="Lead Source"> Advertisement </FL> <FL val="Lead Status"> Contact in Future </FL> <FL val="Industry"> Wireless Industry </FL> <FL val="No of Employees">250</FL> <FL val="Annual Revenue"> 19500 </FL> <FL val="Rating"> Active </FL> <FL val="SMCREATORID">418176000000047003</FL><FL val="Created By">418176000000047003</FL> <FL val="MODIFIEDBY">418176000000047003</FL> <FL val="Modified By">Amit</FL> <FL val="Created Time">2012-02-09</FL> <FL val="Modified Time">2012-02-16</FL> <FL val="Email Opt Out"></FL> </row> </Leads> &id=418176000000055001
设置截图
答案 0 :(得分:0)
试试这个
$curl_handle=curl_init();
curl_setopt( $curl_handle, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt($curl_handle,CURLOPT_URL,urlencode("https://crm.zoho.com/crm/private/xml/Leads/updateRecords?newFormat=1&apikey=*$&ticket=ada47f67f130619aaeab5a40069705c8&xmlData= <Leads> <row no="1"> <FL val="LEADID">418176000000055001</FL> <FL val="SMOWNERID">418176000000047003</FL> <FL val="Lead Owner">418176000000047003</FL> <FL val="Company"> Demo </FL> <FL val="First Name"> Test </FL> <FL val="Last Name"> Lead </FL> <FL val="Designation"> This </FL> <FL val="Email"> email1@yopmail.com </FL> <FL val="Phone"> 242377 </FL> <FL val="Mobile"> 9865986598 </FL> <FL val="Website"> www.google.com </FL> <FL val="Lead Source"> Advertisement </FL> <FL val="Lead Status"> Contact in Future </FL> <FL val="Industry"> Wireless Industry </FL> <FL val="No of Employees">250</FL> <FL val="Annual Revenue"> 19500 </FL> <FL val="Rating"> Active </FL> <FL val="SMCREATORID">418176000000047003</FL><FL val="Created By">418176000000047003</FL> <FL val="MODIFIEDBY">418176000000047003</FL> <FL val="Modified By">Amit</FL> <FL val="Created Time">2012-02-09</FL> <FL val="Modified Time">2012-02-16</FL> <FL val="Email Opt Out"></FL> </row> </Leads> &id=418176000000055001
"));
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl_handle,CURLOPT_REFERER,'http://www.google.com');
curl_setopt($curl_handle,CURLOPT_FRESH_CONNECT,true);//No caching
curl_setopt($curl_handle,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($curl_handle,CURLOPT_MAXREDIRS,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
echo $buffer;
您需要在发送之前对您的网址进行编码... 对于浏览器,它默认执行此操作。