我无法获取工作API rest以检查许可证运行状况。
api.php(在控制器下)
<?php
require APPPATH . '/libraries/REST_Controller.php';
use Restserver\Libraries\REST_Controller;
class Inmobiapi extends REST_Controller {
/**
* Get All Data from this method.
*
* @return Response
*/
public function __construct() {
parent::__construct();
$this->load->database();
}
/**
* Get All Data from this method.
*
* @return Response
*/
public function index_post()
{
$licencia=$this->input->post('licencia');
if($licencia){
$data = $this->db->get_where("clientes", ['licencia' => $licencia,'status'=>'Active'])->row_array();
}else{
$this->response(NULL, 404);
}
$this->response($data, REST_Controller::HTTP_OK);
}
}
函数来检查许可证,它是一个助手。
function verificar_licencia($licencia){
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'URL_TO_API');
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $licencia);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
$result = json_decode($buffer);
if(isset($result))
{
return $result;
}
else
{
return FALSE;
}
}
返回的给予总是FALSE。api文件位于另一个域中,在两个rest.php上有不同的CI3安装,但配置相同
身份验证未启用,因此任何人都可以访问(我只是测试)。
有人能给我带路吗?谢谢。
1条答案
按热度按时间j0pj023g1#
我假设您有一个有效的'URL_TO_API'值。请检查您的CURL选项。如果您没有从调用中得到结果,而您的URL是有效的和可运行的,则您的
curl_setopt
调用可能缺少或设置了不正确的属性(或未设置)。例如,在我最新的项目中,我的curl选项必须设置如下:
您的情况可能有所不同,具体取决于: