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

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 17
    Points
    17
    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 éprouvé

    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
    Points : 923
    Points
    923
    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 régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 89
    Points : 107
    Points
    107
    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 à l'essai
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 17
    Points
    17
    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 à l'essai
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 17
    Points
    17
    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 régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 89
    Points : 107
    Points
    107
    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 à l'essai
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 17
    Points
    17
    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

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 89
    Points : 107
    Points
    107
    Par défaut
    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
     
    import sys
    import os.path
    import urllib2
    import cookielib
     
    COOKIEFILE = 'cookies.lwp'
    # le chemin et fichier pour sauvegarder vos cookies
    cj = None
    urlopen = urllib2.urlopen
    Request = urllib2.Request
    cj = cookielib.LWPCookieJar()
     
    if cj is not None:
        if os.path.isfile(COOKIEFILE):
             cj.load(COOKIEFILE)
     
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        urllib2.install_opener(opener)

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    hum ca a l'air de marcher
    merci

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 266
    Points : 161
    Points
    161
    Par défaut
    salut
    j'ai le meme probleme que ark42 et pour le meme but: faire un logiceil pour hattrick !
    je n'arrive pas a rester logué et ce meme avec la solution apportée par jpcw2002.
    une question : la variable COOKIEFILE qui est 'cookies.lwp' il faut créer ce fichier ? comment ? car dans mon cas je ne rentre pas ds le 'if' étant donné que ce fichier n'est pas ds mon répertoire courant...

    merci d'avance pour vos réponses

+ 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