2017-04-05 27 views
-2

this APIメソッドを実装し、PHP cURLを使用してGETリクエストを送信しようとしています。XMLパラメータ(PHP cURL)でGETリクエストを実行

$url = 'https://crm.zoho.com/crm/private/xml/'.$module.'/'.$method.'?authtoken='.config('app.ZOHO_KEY').'&scope=crmapi&newFormat=1&id='.$record_id.'&xmlData='.$XML_data; 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_exec($ch); 

URLはこれに計算します:

https://crm.zoho.com/crm/private/xml/Contacts/updateRecords?authtoken=XXXX&scope=crmapi&newFormat=1&id=2410575000000139003&xmlData= <Contacts> <row no="1"> <FL val="Email Opt Out">true</FL> </row> </Contacts> 

しかし、要求が失敗した

は、ここに私のコードです。私はstr_replace(' ', '%20', $url)を試しましたが、これで問題は解決しません。

+1

データはURLではなく本体に送られます –

答えて

0

私はあなたがこの間違った操作を行うstr_replace(」」、 '%20'、$のURL)

を試してみました。タスクのための適切なツールは、あなたがあなたのコードをリファクタリングし、それがためですまさにです通常のPOSTリクエストを介してこのデータを送信しなければならないEDIT

urlencode()

です。

+0

私は '$ ch = curl_init(urlencode($ url))'を使って同様の試みをしましたが、それでも動作しません。 –

+0

問題は改行によって引き起こされています。また、私のXML構造に '/'があるので 'urlencode()'が機能しないので、それらを保持する必要があります。 –

+0

POSTの代わりにGET経由で送信する理由は? –

関連する問題