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 :

PHP to Python : script de connexion à un API secu par mot de passe


Sujet :

Réseau/Web Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 38
    Par défaut PHP to Python : script de connexion à un API secu par mot de passe
    Bonjour,

    Je débute avec Python et je me retrouve un problème, pour l'application je doit me connecter à un API qui est protégé par un système de login ressemblant à une protection par htaccess.
    Berf j'ai le code PHP qui fonctionne :
    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
     
    $fp = fsockopen('api.example.com', 80, $errno, $errstr, 30);
    if (!$fp) {
     echo "$errstr ($errno)\n";
    } else {
     $data = "";
     $base64 = base64_encode('username'.':'.'password');
     fputs($fp, "GET /feed?f=blabla HTTP/1.0\r\n".
     "Host:  api.example.com\r\n".
     "Authorization: Basic ".$base64."\r\n\r\n");
     while (!feof($fp)) {
      $data .= fgets($fp, 4096);
     }
     fclose($fp);
    }
    Pour le moment je pense avoir trouvé l'équivalent de fsockopen :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('api.example.com', 80))
    Pour le reste ça coince, je suis bloqué.

    Je recherche quelques pistes pour me connecter à cette API, il y a peut être un autre moyen avec python.
    Merci pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 695
    Par défaut
    Salut,

    Un protocole d'authentification HTTP même "basic" ne se fait pas de cette façon car trop simple à cracker: si tant est que le code PHP fonctionne, jetez le!

    Prenez le temps de lire l'article.
    Il vous explique la mécanisme d'authentification HTTP "Basic" et comment le mettre en œuvre avec urllib2 and C°.

    - W
    Note: Le but de l'article est de vous expliquer le fonctionnement d'un code qui fait le tout en 6 lignes.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 38
    Par défaut
    Bonsoir,

    Oui le code PHP fonctionne, il est même fourni par le propriétaire de l'API.
    Merci, je vais lire l'article

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/11/2014, 09h40
  2. Réponses: 1
    Dernier message: 10/11/2008, 16h08
  3. Connexion avec 2 login et mots de passe
    Par phoque.r dans le forum Administration
    Réponses: 2
    Dernier message: 20/08/2007, 10h26
  4. Probleme de double connexion avec meme login et mot de passe
    Par whally dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 21/05/2007, 18h04
  5. probleme de connexion à une base sql avec mot de passe
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/12/2005, 10h16

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