#php #api #codeigniter #curl
#php #API #codeigniter — инициализатор кода #завиток
Вопрос:
Привет, мы работаем с api в codeigniter и отлично. Наш вопрос заключается в том, как мы можем получить доступ к api в другом api codeigniter, https://wgllocalmart.store/restprj/api/cartlist
это точка api, мы хотим получить доступ к другому api https://wgllocalmart.store/restprj/api/verifyCart
, который принимает данные post, но мы не получаем никакой ошибки или кода ответа. Мы установили токен глобально в post man. Код выглядит следующим образом
function cartlist(){
$data1 = "123456";
$data2 = "steve";
$data3 = "120.00";
$post_data = '{"invoice" : "'.$data1.'" , "name" : "'.$data2.'","amount" : "'.$data3.'" }';
$options = [
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Content-Length: ' . strlen($post_data),
]
];
$handler = curl_init();
$url = "https://wgllocalmart.store/restprj/api/verifyCart";
curl_setopt($handler, CURLOPT_URL, $url);
curl_setopt($handler, CURLOPT_POST, 1);
curl_setopt($handler, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($handler, CURLOPT_VERBOSE, 0);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($handler, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt_array($handler, $options);
// curl_exec($handler);
$JSON = curl_exec($handler);
//print_r(curl_getinfo($handler));
if ($JSON === false) {
return "CURL Error: " . curl_error($handler);
}else{
echo "***else";
$outputArray = json_decode($JSON);
print_r(curl_error($handler));
}
}
мы также установили ошибки в качестве
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Пожалуйста, подскажите нам правильный путь, почему api не работает и ошибка не возникает. Заранее благодарю.
Комментарии:
1. Откуда вы
$data1, $data2....
в первой строкеcartlist()
беретесь? Является ли это просто проблемой определения масштаба?2. Ваш ELSE только выводит
echo "***else";
, что он пытаетсяjson_decode()
что-то сделать, но он не возвращает это или не повторяет это, а затем пытается вывестиprint_r()
3. В API, вызывающем API, нет ничего сложного, но если вы хотите узнать состояние или статус вызова внутреннего API, вы должны убедиться, что все это передается обратно в первый API для дальнейшей передачи