Bonjour à tous
Je dispose d'une carte équipée de 8 relais fonctionnant à l'aide de commandes html. J'ai développé un programme sur PC en VB.Net et tout fonctionne comme attendu.
Aujourd'hui, j'essaie (en vain) de reproduire ce que je fais en VB.Net mais cette fois-ci, en python sur un Raspberry Pi.
La carte dispose d'une adresse IP et requiert un nom et un mot de passe pour y accéder, ainsi qu'une commande pour activer ou désactiver un relais.
A titre d'exemple, voici la syntaxe qui permet d'activer le relais n°1 : http://admin:motPass@192.168.1.120/r...gi?relayon1=on
La commande relayon1=off permet de désactiver le même relais.
Cette syntaxe utilisée dans un simple navigateur internet fonctionne, la commutation des relais s'effectue.
Je cherche donc à introduire cette syntaxe dans un programme python. J'ai parcouru pas mal de sites concernant l'utilisation des modules httlib, requests, urllib, ... , ainsi que les aides respectives, mais je ne trouve pas d'exemple qui fonctionne, notamment lié à la nécessité d'utiliser un nom et un mot de passe pour la prise en compte de la commande.
Lorsque j'utilise ce code pour accéder à la carte :
La réponse est 401 Unauthorized, ce qui n'est pas étonnant dans le sens où aucun mot de passe n'étant transmis, la carte refuse naturellement l'accès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 import httplib httpServ= httplib.HTTPConnection("192.168.1.120") httpServ.request("GET","/") response = httpServ.getresponse() print response.status, response.reason httpServ.close
En plus, python et l'anglais ne sont pas vraiment ma tasse de thé. Je ne tourne même pas en rond, je ne tourne simplement pas
Et de rajouter que le développement en python n'est pas pour moi une raison d'être mais un simple outil qui me permet d’exploiter certains composants. Comprenez que je suis une "burne" en python.
Ceci étant dit, si quelqu'un pouvait me proposer le bout de programme qui réponde à mon besoin, il en sera sincèrement remercié.
Merci à vous
Jean-Pierre
Partager