не могу вызвать метод API, используя XML в URL - PullRequest
1 голос
/ 21 февраля 2012

Я использую zoho api и после редактирования информации о пользователе, когда я отправляю форму, я создаю URL и использую CURL для вызова URL, чтобы я мог получить ответ XML как «Запись обновлена». Ниже приведен код, который я использую для отправки запроса GET с использованием CURL. Я также пытался выполнить запрос POST, который не работал

 $ch = curl_init($url);
 $Rec_Data = curl_exec($ch);
 var_dump($Rec_Data);

Он возвращает «ложь», но когда я использую тот же URL и вручную помещаю его в адресную строку браузера и нажимаю «anter», он работает и говорит «запись обновлена», но в этом случае я не могу проверить ответ и уведомить пользователя, что операция прошла успешно или что-то в этом роде.

Почему тот же URL не работает с CURL GET или POST ?? ниже мой URL ... если вы звоните ниже URL с адресной строкой браузера ... это будет работать, но с 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

Скриншот настройки enter image description here

1 Ответ

0 голосов
/ 21 февраля 2012

Попробуйте это

$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;

Вам необходимо закодировать URL-адрес перед отправкой ... В случае браузера это происходит по умолчанию.

...