Aller au contenu
jjacques68

Requête http Internet Explorer

Recommended Posts

Bonsoir tout le monde !

 

est ce quelqu'un arrive encore à faire des requêtes http directement sous IE ?

 

une toute simple pour tester : allumage d'une lampe ...

 

http://admin:mdp@192.168.x.y/api/callAction?deviceID=138&name=turnOn

 

Chez moi il me retourne une erreur comme quoi l'adresse n'est pas valide.

Et je soupçonne le Login:mdp qui ne serait plus accepté dans les url ? C'est possible ?

 

si j'enlève le couple admin:mdp, il me demande les identifiants, et ça fonctionne.

 

sous Firefox, il me l'accepte si je valide une alerte.

 

Vous remarquez la même chose ? est ce une limitation des navigateurs ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @jjacques68, j'ai la même chose sous IE11, utilise Firefox ou bien chrome ;). De plus c'est l'ancienne API qui n'est plus supportée et qui disparaîtra un jour ou l'autre alors autant passer par la nouvelle ex: http://192.168.1.xxx/api/devices/1484/action/turnOn, mais attention c'est en méthode POST et pas en GET.

Partager ce message


Lien à poster
Partager sur d’autres sites

Si si toujours ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Le compte "admin" n'existe plus, et est renommé par une adresse email (avec un arobase @ donc ça pose problème dans l'URL)

Tu peux utiliser un compte utilisateur que tu crées via l'interface Web, ainsi cela t'éviter d'exposer le mot de passe du compte administrateur en clair.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui j'ai déjà créer un autre user  à cause de ça (avec les bons droits sur les modules)

 

mais quand je saisie cette URL (avec le bon user, mdp, ip et id)

 

http://admin:mdp@192.168.1.xxx/api/devices/1484/action/turnOn

 

Il me retourne le contenu json du device... !!!! Et rien ne s'allume !

Partager ce message


Lien à poster
Partager sur d’autres sites

Normal, Kirkroff t'as bien précisé que c'est une requête POST et non pas du GET.

Donc tu ne peux pas le faire depuis la barre d'adresse de ton navigateur, car il ne sait faire que du GET.

Il faut que tu utilises pour cela une extension, ou des commandes Curl depuis un shell Linux par exemple.

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, 

 

pour contourner ce pb, j'ai créé un VD avec plusieurs boutons. puis un utilisateur TOTO qui a les droits sur ce VD.

http://toto:password@192.168.x.y/api/callAction?deviceID=zzz&name=pressButton&arg1=5

on appuie sur le bouton 5 du VD dont l'id est zzz

 

C'est @pepite qui m'a mis sur la voie ! Merci à lui :74:

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui avec l'ancienne API v3 aucun problème en GET, mais Jacques68 veut utiliser l'API v4, qui impose des requêtes POST.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, Lazer a dit :

Donc tu ne peux pas le faire depuis la barre d'adresse de ton navigateur, car il ne sait faire que du GET.

 

D'accord, mais alors lorsque l'ancienne api va disparaître, on va avoir de sacrés soucis !!! Avec nos IPX et sarah par exemple !

 

lorsque Google home ou Amazon Écho seront dispo, ça va être galère si on peut plus faire de requêtes GET !!!

 

@Lazer nos messages viennent de se croiser :) 

Modifié par jjacques68

Partager ce message


Lien à poster
Partager sur d’autres sites

L'IPX permet de faire du POST, donc ça devrait fonctionner

(cela dit, je viens de vérifier, et j'utilise toujours l'ancienne API v3 en GET depuis mon IPX v4, comme dans l'exemple de Chris2div)

 

Pour Sarah je pense qu'il n'y aura pas de souci non plus, c'est développé par un pro.

 

Tout système pas trop mal foutu sait faire n'importe quel type de requête, il n'y a que la barre d'adresse des navigateurs qui soit limité au GET. En fait, ça n'embête que nous, quand on essaye de débugger les API avec des requêtes GET sur le navigateur.

Pour cette raison, ça fait longtemps que je n'utilise plus la navigateur pour tester, mais j'ai toujours une connexion sur un Linux dans un coin pour tester les requêtes avec Curl, qui sait absolument tout faire.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok.

 

Mais il me semble que sur les IPX V3 on peut faire que du GET (je crois qu'on en avait déjà parlé toi et moi sur un autre sujet... :) )

 

ça sent le remplacement d'IPX un de ces jours ça... :( 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah sur les v3 je ne sais pas.

 

Par contre sur les V4, il y a le GET et le POST, mais il manque le PUT, dont on a besoin si on veut mettre à jour des fake-devices par exemple.... d'où l'emploi de subterfuges en cliquant sur des boutons de VD.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour ce qui est de Sarah, les requêtes sont envoyées en POST je confirme (du moins avec le plugin : Sarah-Plugin-Home-Center de e1000g).

Partager ce message


Lien à poster
Partager sur d’autres sites

Je confirme aussi après lecture des notices, l'IPX V3 envoie des requêtes push en GET et rien d'autre.

Contrairement a l'IPX V4...

 

Vais devoir changer d'IPX... ça me pendait au nez de toute façon... :( 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Krikroff @Lazer :

 

J'essaye de transformer cette requête (mise à jour d'un label d'un VD) en V3 de l'API de la HC2 : (qui fonctionne parfaitement)

http://admin:pwd@192.168.xx.yy/api/callAction?deviceID=329&name=setProperty&arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'}

en version 4... j'essaye toutes les syntaxes possibles, mais sans succès !

http://admin:pwd@192.168.xx.yy/api/devices/329/setProperty/arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'}
http://admin:pwd@192.168.xx.yy/api/devices/329/action/arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'}
http://admin:pwd@192.168.xx.yy/api/devices/329/action/setProperty/arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'}
...

vous avez une idée ?

 

merci d'avance !!

 

Modifié par jjacques68

Partager ce message


Lien à poster
Partager sur d’autres sites

Je vais laisser@Krikroff ou@Steven répondre, je ne crois pas avoir de mise à jour de label via l'API chez moi, puisque je n'utilise que des fake Devices.

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso, j'utilise le mode V3 uniquement.

Partager ce message


Lien à poster
Partager sur d’autres sites

Parce qu'on peut choisir la version de l'API ?

 

Sinon tu es sur de tes 2 / de suite : 

api//device

Partager ce message


Lien à poster
Partager sur d’autres sites

Ben d,'après ce que j'ai pu comprendre (voir plus haut), oui !

 

pour les // c'est une erreur lors du copier colé... désolé

il est clair que j'ai fais les tests avec un seul /

je corrige... merci !

Partager ce message


Lien à poster
Partager sur d’autres sites

voilà un exemple de différence entre V3&V4 pour allumer une lumière :

V3 - http://admin:pwd@192.168.x.y/api/callAction?deviceID=46&name=turnOn
V4 - http://admin:pwd@192.168.x.y/api/devices/46/action/turnOn

V3 = méthode GET ; V4 = méthode POST.

 

Mais je trouve pas comment modifier un label en V4... (après c'est pas vital non plus...)

Pour les tester j'utilise un plugin du navigateur.

Modifié par jjacques68

Partager ce message


Lien à poster
Partager sur d’autres sites

×