IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Envoi d'une commande html avec python


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Astronome amateur
    Inscrit en
    Juillet 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Astronome amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 63
    Points : 32
    Points
    32
    Par défaut Envoi d'une commande html avec python
    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 :

    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
    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.

    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

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Astronome amateur
    Inscrit en
    Juillet 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Astronome amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 63
    Points : 32
    Points
    32
    Par défaut
    Ayant posé ma question sur un autre forum, j'ai eu une réponse qui traite ma problématique liée notamment à l'utilisation d'un identifiant et d'un mot de passe.

    Je mets la réponse car si quelqu'un d'autre a un problème similaire, il aura des éléments.

    Commande pour activer le relais n°1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import requests
    from requests.auth import HTTPBasicAuth
    r = requests.get('http://192.168.1.120/relay.cgi?relayon1=on', auth=HTTPBasicAuth('admin', 'motPass'))
    C'est tout, mais ça fonctionne !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. envoi d'une commande HTTP Get avec XML
    Par samuel44 dans le forum Langages
    Réponses: 6
    Dernier message: 16/07/2016, 19h03
  2. VB6: Récupération des meta d'une page HTML avec HTMLDocument
    Par Matounet dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/09/2011, 07h55
  3. Peut on mettre une commande linux avec python
    Par specimen35 dans le forum Général Python
    Réponses: 2
    Dernier message: 20/12/2007, 16h06
  4. Réponses: 2
    Dernier message: 19/12/2005, 13h15
  5. Réponses: 7
    Dernier message: 14/09/2005, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo