Как получить JSON API с использованием авторизации - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок в программировании, я хочу спросить о найденных препятствиях.

Здесь я хочу свернуть сайт, чтобы получить JSON API. но прежде чем получить API, я должен сначала войти в систему.

Ниже приведен скрипт PHP, который я использую.

<?php

    $user_agent       = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0";
    $curl_crack = curl_init();
    CURL_SETOPT($curl_crack,CURLOPT_URL,"https://data.kemkes.go.id/data/dhis-web-commons-security/login.action");
    CURL_SETOPT($curl_crack,CURLOPT_USERAGENT,$user_agent);
    CURL_SETOPT($curl_crack,CURLOPT_POST,True);
    CURL_SETOPT($curl_crack,CURLOPT_POSTFIELDS,"j_username=ss&j_password=ss%&2fa_code=");
    CURL_SETOPT($curl_crack,CURLOPT_RETURNTRANSFER,True);
    CURL_SETOPT($curl_crack,CURLOPT_FOLLOWLOCATION,True);
    CURL_SETOPT($curl_crack,CURLOPT_COOKIEFILE,"cookie.txt"); //Put the full path of the cookie file if you want it to write on it
    CURL_SETOPT($curl_crack,CURLOPT_CONNECTTIMEOUT,30);
    CURL_SETOPT($curl_crack,CURLOPT_TIMEOUT,30);  
    $exec = curl_exec($curl_crack);
    if(preg_match("/^Dashboard$/i",$exec))
{
    echo "Logged in! now lets go to other page while we are logged in, shall we?";
    CURL_SETOPT($curl_crack, CURLOPT_URL, "https://data.kemkes.go.id/data/api/analytics.json?dimension=dx:TAqRuO1R1eI;U7BaEXUa1Ii;UEBmmFH8OzT&dimension=pe:20200302;20200303;20200304;20200305;20200306;20200307;20200308;20200309;20200310;20200311;LAST_7_DAYS;TODAY&filter=ou:amZZzlibrMp&skipData=false&skipMeta=false&includeNumDen=false&displayProperty=SHORTNAME");
    $exec = curl_exec($curl_crack);
    print_r($exec);exit();


curl_close($curl_crack);
}
?>

Мой файл cook ie .txt:

JSESSIONID=7D1E047AB7DFCAB90617DB

когда я использую команду print_r, она ничего не выводит.

https://i.stack.imgur.com/f50Ou.png

Где моя ошибка в этот код? спасибо и приятно познакомиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...