результат json-данных из URL с https является грязным и, как и символ строки ошибки, использовал содержимое file_get, как в этом коде ниже
<?php // header('Content-Type : application/x-www-form-urlencoded'); // header("Content-Type: text/html"); $url = "https://sirup.lkpp.go.id/sirup/servicecdn/paketpenyediapersatkertampil ?idSatker=95966&tahunAnggaran=2018"; // $url="http://jsonplaceholder.typicode.com/posts/"; // $url="http://localhost/appTestBengkulu/restAPI/aksesdata/"; $get_url = file_get_contents($url); $datajson = json_decode($get_url); var_dump($get_url); // var_dump($datajson); $data_array = array( 'datalist' => $datajson ); // var_dump($data_array); $this->load->view('vdatajson', $data_array);
с: file_get url содержимого https://drive.google.com/open?id=1tGYU4lwAHKQMs8bN5Z9ns-45c4IZEZe_
с почтальоном: https://drive.google.com/file/d/1-G_2LBT53vq-jyHWahBQyAdT203O86CY/view?usp=sharing
Я использовал некоторые предложения, такие как тип контента utf8 или тому подобное, но результат тот же данные можно читать как массив данных JSON для просмотра
У вас есть две проблемы, во-первых, в URL есть пробел между paketpenyediapersatkertampil и ?idSatker, удалите его. Во-вторых, возвращаемые данные отформатированы в gzip, вы можете использовать функцию gzdecode, чтобы сначала распаковать ее перед json_decode it:
paketpenyediapersatkertampil
?idSatker
gzdecode
json_decode
<?php // header('Content-Type : application/x-www-form-urlencoded'); // header("Content-Type: text/html"); $url = "https://sirup.lkpp.go.id/sirup/servicecdn/paketpenyediapersatkertampil?idSatker=95966&tahunAnggaran=2018"; // $url="http://jsonplaceholder.typicode.com/posts/"; // $url="http://localhost/appTestBengkulu/restAPI/aksesdata/"; $get_url = file_get_contents($url); $datajson = json_decode(gzdecode($get_url)); // var_dump($get_url); // var_dump($datajson); $data_array = array( 'datalist' => $datajson ); var_dump($data_array); $this->load->view('vdatajson', $data_array);
cURL работает хорошо
Вот рабочий фрагмент.
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://sirup.lkpp.go.id/sirup/servicecdn/paketpenyediapersatkertampil?idSatker=95966&tahunAnggaran=2018", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }