我想使用 curl 将数据从 Codeigniter 控制器发布到 API。 我无法访问 API 中的帖子数据。 这是我的 CURL 代码。 ...
class SearchJobs extends CI_Controller {
public function index()
{
$headers = array(
'Content-Type:application/json'
);
$fields=$this->input->post();
/////////////////////get jobs/////////////////
$api_path=API_PATH."index.php/searchJobs/getJobs";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_path);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($fields));
$featuredJobs = curl_exec($ch);
if(curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
exit();
} else {
// check the HTTP status code of the request
$resultStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($resultStatus != 200) {
echo stripslashes($featuredJobs);
die('Request failed: HTTP status code: ' . $resultStatus);
}
$featured_jobs_array=(array)json_decode($featuredJobs);
print_r($featured_jobs_array);
exit();
}
$this->load->view('searchjobs/index',array('featuredJobs'=>$featured_jobs_array));
}
}
。
这就是我在 API 中访问它的方式:
。
public function getJobs_post()
{
$data_array=array();
$res_array=array();
$pageNo = $this->input->get('pageNo');
$where = ' j.isActive="y" and isApproved=1 ';
$posted_skills=$this->input->get('skills');
$locations=$this->input->get('location');
。
但是,我可以使用与$this->input->get('skills');
相同的方法轻松地从邮递员访问 API 中的帖子数据。
删除 json 标头$headers = array( "内容类型:应用程序/json" );
和直接发布数据,无需json_encodecurl_setopt($ch,CURLOPT_POSTFIELDS,$fields(;