1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| <?php
$username="user";
$passw="password";
$url="https://domaine.dom/api/path/to/file";
$params = array('limits' => '10', );
$header = array('Content-Type' => 'application/json');
//add the http authentication to the header
function addBasicAuth($header, $username, $password) {
$header['Authorization'] = 'Basic '.base64_encode("$username:$password");
return $header;
}
// method should be "GET", "PUT", etc..
function request($method, $url, $header, $params) {
$opts = array(
'http' => array(
'method' => $method,
),
);
// serialize the header if needed
if (!empty($header)) {
$header_str = '';
foreach ($header as $key => $value) {
$header_str .= "$key: $value\r\n";
}
$header_str .= "\r\n";
$opts['http']['header'] = $header_str;
}
// serialize the params if there are any
if (!empty($params)) {
$params_array = array();
foreach ($params as $key => $value) {
$params_array[] = "$key=$value";
}
$url .= '?'.implode('&', $params_array);
}
//create flow context with option array completed with authentication informations
$context = stream_context_create($opts);
//get content in json ($header['Content-Type']=>'application/json')
//get back content in json
$data = file_get_contents($url, false, $context);
return $data;
}
$header = addBasicAuth($header, $username, $password);
/*after we call this function we have :
$header=array('Content-Type' => 'application/json',
'Authorization' => Basic.base64("$username:$password")
);*/
$response = request("GET", $url, $header, $params);//create context, create request and launch it
echo $response; |
Partager