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 :

[urllib] Connexion login pass


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Par défaut [urllib] Connexion login pass
    Bonjour,
    j'ai besoin de me connecter a un site avec un login et pass, puis une fois ceci fais pouvoir recupérer des fichiers dessus.
    Je me sers donc de urllib.urlopen(), ca marche bien pour la connexion apparement, par contre jvoudrais garder la socket pour
    passer d'autres url, pour pouvoir dire que la connexion est bien faite.
    Je me ressers de urlopen().read() mais il me dit que j'ai besoin d'etre log pour pouvoir lire le fichier.
    donc c'est ptet pas avec urlopen pour la 1ere étape ?

    si quelqu'un a compris.. merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Normalement ça passe avec le login/pass dans l'URL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f = urllib.urlopen('http://%s:%s@%s' % (ton_login, ton_pass, url))

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 89
    Par défaut urllib2 c'est mieux :-)
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    import urllib2
     
    class connectserveur:
        """
        obtient une connexion authentifiée vers un serveur HTTP
        """
        def __init__(self,**kw):
            """
            crée un hanler de connection vers le serveur
            """
            password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
            password_mgr.add_password(kw['serveur'],kw['ip'], kw['user'], kw['passwd'])
            handler = urllib2.HTTPBasicAuthHandler(password_mgr)
            opener = urllib2.build_opener(handler)
            urllib2.install_opener(opener)
     
     
        def get_page(self,url):
            """
            retourne la page demandée dans une liste
            """
            try:
                result = urllib2.urlopen(url)
                return result
            except:
                return None
     
    #==============
    exemple d'appel :
    params_connect={'serveur':'','ip':'http://localhost','user':'toto','passwd':'titi'}
     
    conn=connectserveur(**params_connect)
    page1=conn.get_page(url1)
    page1=conn.get_page(url2)
    Voilà @++

  4. #4
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Par défaut
    oui ca ca marche, mais j'ai un parametre actiobtype=login a donner.
    et donc une fois log, faut que je repasse des urls mais sans donner login et pass et avec un actiontype différent suivant ce que je veux, il doit deja savoir que je suis log.

    edit:
    post en meme temps
    merci jpcw2002 ca m'a l'air d'etre ca

  5. #5
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Par défaut
    oue nan en fait, ca passe pas comme ca, le getpage me renvoie l'erreur dans la liste :
    You are not allowed to view this without being logged in.
    faudrait que je puisse sortir un handler en donnant l'url avec le login et pass dedans comme dit au dessus.. ca doit pas etre loin mais jtrouve pas avec quoi

    merci

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 89
    Par défaut
    ça c'est pour une authentification http basique et ça marche.
    maintenat les ite auquel tu accèdes c'est quoi ?
    parceque si c'est un site en php (par exemple) qui t'ijecte un cookie de session,
    c'est normal que tu te fasses jeter.
    Si c'est le cas jettes un oeil à cookielib, qui te gèrera tout seul, dans ton handler

  7. #7
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Par défaut
    c'est hattrick.org, j'ai trouvé un exemple de code pour l'auth en java :
    http://wiki.hattrick.org/CHPP_Develo...Login_examples
    et oue on dirait qu'il y a une histoire de cookie

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

Discussions similaires

  1. Connexion Login / Mot de passe
    Par mano2003 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 01/05/2013, 01h32
  2. Demande de login/pass lors de la connexion à SP
    Par Ditch dans le forum SharePoint
    Réponses: 2
    Dernier message: 08/05/2008, 15h22
  3. Connexion automatique sur base SQL (Login/pass mémorisé)
    Par Fredo67 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/10/2005, 16h24
  4. [IDHTTP] Problème avec la methode post (login:pass@ww.url)
    Par Rayek dans le forum Web & réseau
    Réponses: 5
    Dernier message: 11/07/2005, 10h03

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