Как получить данные JSON с https, а не http в php codeigniter - PullRequest
0 голосов
/ 06 апреля 2019

результат 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 для просмотра

Ответы [ 2 ]

0 голосов
/ 06 апреля 2019

У вас есть две проблемы, во-первых, в URL есть пробел между paketpenyediapersatkertampil и ?idSatker, удалите его.
Во-вторых, возвращаемые данные отформатированы в gzip, вы можете использовать функцию gzdecode, чтобы сначала распаковать ее перед json_decode it:

<?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);
0 голосов
/ 06 апреля 2019

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...