Bonjour,

J’essaie de mettre en place une petite api rest, tout fonctionne :

Nom : 1.jpg
Affichages : 54
Taille : 35,7 Ko

Mais je souhaite également interroger celle-ci depuis le localhost, ce qui me retourne l'erreur suivante :

Warning: file_get_contents(https://www.ledomaine.com/liste_elev...cds5bfgc4ds6): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in C:\.../API_REST\json_decode.php on line 6

Voici la ligne concernée => json_decode.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
 
$data = file_get_contents("https://www.ledomaine.com/liste_eleves.php?ip=0.0.0.1&token=sz0cds5bfgc4ds6");
$rows = json_decode($data, 1); // JSON => Array.
 
//var_dump($rows);
 
?>
Le fichier de l'api :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
 
header("Content-type: application/json; charset=utf-8");
 
try {
    $pdo = new PDO('mysql:host=monhostovh.mysql.db;dbname=mabasemysql;charset=utf8', 'mabasemysql', 'monmotdepasse');
    $return["success"] = true;
    $return["message"] = 'Connexion réussie';
} catch (Exception $e) {
    $return["success"] = false;
    $return["message"] = 'Connexion échouée';
}
 
$ip = "0.0.0.1";
$token = "sz0cds5bfgc4ds6";
 
if ((isset($_GET["ip"]))&&($_GET["ip"]==$ip)&&(isset($_GET["token"]))&&($_GET["token"]==$token)) {
 
	$query = $pdo->prepare("SELECT * FROM `eleves`");
	$query->execute();
	$results = $query->fetchAll();   
 
    # Retourne la liste des élèves.
    $return["success"] = false;
    $return["message"] = "Liste des éléves";
    $return["count"] = count($results);
    $return["liste"]["eleves"] = $results;
 
}
 
# var_dump($return);
echo json_encode($return);
 
?>
La table :

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE IF NOT EXISTS `eleves` (
  `elv_id` int(11) NOT NULL AUTO_INCREMENT,
  `elv_nom` varchar(80) NOT NULL,
  `elv_prenom` varchar(30) NOT NULL,
  `elv_classe` varchar(10) NOT NULL,
  PRIMARY KEY (`elv_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 
INSERT INTO `eleves` (`elv_id`, `elv_nom`, `elv_prenom`, `elv_classe`) VALUES
(1, 'MACRON', 'Emmanuel', '6ème 2'),
(2, 'PAGNOL', 'Marcel', '4ème 3'),
(3, 'Brigitte', 'BARDOT', '3ème 1');

Si vous avez une idée du problème, d'avance merci pour votre réponse.