Yerine her zamanki arama dosyanın Curl en curl_exec () aracılığıyla bir API yanıt almak

0 Cevap php

API integration description
The API needs a form to be posted to the API URL with some input fields and a customer token. The API processes and then posts response to a callback.php file on my server (it is fixed as per the documentation and we cannot mention that we want the response to be posted to some other file). I can access the posted vals using $_POST in that file. That's all about the existing method and it works fine.

Bu curl_exec () işlevi bir dönüş değeri olarak kıvrılma yoluyla tüm yanıt almak mümkün olup olmadığını Şimdi, bilmek istiyorum?. Ben kıvrılma deneyimli değilim.

Ben aşağıdaki kodu idam: -

$ch = curl_init(API_URL);
$encoded = '';
$_postArray['customer_token'] = API_CUSTOMER_TOKEN;

foreach($_postArray as $name => $value) 
{
     $encoded .= urlencode($name).'='.urlencode($value).'&';
}

// chop off last ampersand
$encoded = substr($encoded, 0, strlen($encoded)-1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,  $encoded);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp;

Orada hiç bir yanıttır ama curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); satırını açıklama eğer beklediğim gibi, $ solunum değeri yerine bir dizi ($ _POST) 1. yankıları. Bu 1 API ile başarılı işleme tespit edilmiştir anlamına mı geliyor?

Bu mümkün değilse, daha önce oluyordu gibi en az $ _POST gibi callback.php dosyasındaki yanıt almak için yukarıdaki değiştirmek için nasıl söyle.

More description of Current status and what I wanted
I wanted to get the response as a return value of curl_exec() so that I could use ajax response to redirect the page in frontend to a success page (I wanted to call curl posting through ajax on form submission from frontend keeping the same page in display until response from API comes).

Şu anda, (aynı sayfa görüntüleme tutmak için) gizli bir iframe ile API formunu gönderme oturumu ['api_success'] değişkeni tespit etmek için bir javascript sayaç başlangıç ​​ve geri arama oturumu ['api_success'] ayarlayarak bu yapıyordu . php dosyası (API başarılı yanıttan sonra). Ben her zaman kırmak gibi bu yöntemi atmak istedim ve linux firefox 2 başarısız olur.

Updates
Agreed that with this kind of asynchronous API, there is no other option but to do frequent polling to set a status flag. So, please help me alter the above code so as to receive response in the callback file. Currently it is not coming.

Thanks, Sandeepan

0 Cevap