Как сделать два вызова curl в одном скрипте - PullRequest
0 голосов
/ 30 октября 2019

Я делаю API-вызов третьему лицу через curl php. код работает, но так как я делаю два POST и GET один за другим, мне нужно обновить страницу, чтобы получить ответ на вызов GET

Я попытался использовать ajax, и он выдает мне ошибки CORS

function callAPI($method, $url, $data){ 
    global $company_api_key;
    switch ($method){
    case "POST":
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_POST, 1);
        if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array(
                        'Authorization: Basic '.base64_encode("$company_api_key") ,
                        'Content-Type: application/json',
                        ));
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        // EXECUTE:
        $result = curl_exec($curl);
        if(!$result){die("Connection Failure");}
        curl_close($curl);
        return $result;
        break;
    case "GET": 
        $ch = curl_init();  
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                        'Authorization: Basic '.base64_encode("$company_api_key") ,
                        'Content-Type: application/json',
                        ));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        // EXECUTE:
        $result = curl_exec($ch);
        if(!$result){die("Connection Failure");}
        curl_close($ch);
        return $result;
        break;
    default:
        echo "something went wrong with API call";
    }
}
$make_call = callAPI('POST', 'post-url', json_encode($data_array));

Я получаю идентификатор после этого вызова, а затем использую этот идентификатор в вызове GET

 $get_data = callAPI('GET', 'get-url'.$id, false);

Теперь я вызываю их один за другим, поэтому я попытался использовать AJAX для вызова GET, но я получаю CORSошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...