API 404 Not Found

API 404 Not Found - PHP - Programmation

Marsh Posté le 24-07-2020 à 10:43:11    

Bonjour !
Je me tourne vers vous car là, comme vous vous en doutez, je bloque :??: . Je suis sous Windows 10, Wamp64 3.2, PHP 5.6.4, LARAVEL 5.4 J'ai un module électronique indépendant, connecté à mon wifi, et qui envoie à l'ip de mon ordi un fichier de la manière suivante :  
"POST api/upload_url/WISE-4012E_74FE48486A2D/signal_log/19700101/19700101010557.csv HTTP/1.1"  et j'ai systématiquement un 404 à la vue de l'acceslog de Wamp..
 
Dans mon API, j'ai mis la route suivante dans api.php :
Route::post('/upload_url/{machine}/signal_log/{ttime}', 'ApiWifiController@store');
 
Dans Postman, la requête :  
"POST api/upload_url/WISE-4012E_74FE48486A2D/signal_log/19700101/" en y joignant un fichier fonctionne parfaitement avec mon API et j'upload bien le fichier.
 
La différence avec ces deux requêtes est le nom du fichier qui est présent dans la requête émise par le module et ce doit être à cause de ça que ça bloque.
 
 
Je sèche et ne sais pas comment traiter la requête émise....
Est-ce que quelqu'un aurait une idée ou même ne serait-ce qu'une suggestion où chercher ?
J'espère avoir été clair.
Merci d'avance et bonne journée !
 
Phil

Reply

Marsh Posté le 24-07-2020 à 10:43:11   

Reply

Marsh Posté le 24-07-2020 à 13:40:30    

En mettant le nom du fichier dans la requête (donc celle qui marche pas si j'ai bien compris), vu qu'il n'existe pas sur le serveur, c'est un peu normal d'avoir un 4004, non, vu que tu veux justement l'envoyer sur ce serveur :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 24-07-2020 à 14:11:10    

rufo a écrit :

En mettant le nom du fichier dans la requête (donc celle qui marche pas si j'ai bien compris), vu qu'il n'existe pas sur le serveur, c'est un peu normal d'avoir un 4004, non, vu que tu veux justement l'envoyer sur ce serveur :/


 
Merci pour ta réponse rufo ; alors comment faire ?

Reply

Marsh Posté le 24-07-2020 à 14:29:46    

Ben faut soit modifier le code de ton module si tu y a accès, soit modifier ton API pour virer le nom du fichier si c'est possible, soit mettre des règles de réécriture d'url dans Apache.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 27-07-2020 à 11:28:21    

Bonjour B4X et merci de ton aide.
 
Le module électronique envoie la requête en post telle que décrite plus haut et je ne peux modifier que le début (upload_url) et l'ip ainsi que le port.
Ma machine étant en 192.168.2.85 port 80, c'est ce que j'ai renseigné.
En ce qui concerne la validité du Endpoint, je suis débutant et j'ai vu dans la doc que c'était comme ça que je devais appeler l'API et ça marche dans Postman. Par contre, je suis d'accord avec toi, c'est plus que bizarre.
Pour info, mon appli est située dans un répertoire lui-même situé dans \www.
 
Pour info, dans api.php, si je ne mets que 'upload_url' j'ai un magnifique 404. Je l'avais déjà testé et c'est pour ça que je mets l'intégralité de la route.
 
Je ne comprends pas ta dernière phrase où tu me parles de variables en GET et en POST.
 
En tous cas, merci du temps que tu m'accordes.
Phil

Reply

Marsh Posté le 27-07-2020 à 14:10:13    

Quand tu passes des paramètres via l'url, c'est du GET. Dans le cas contraire, c'est du POST.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed