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-urllib2 : ouvrir page dans browser


Sujet :

Réseau/Web Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 76
    Points
    76
    Par défaut urllib-urllib2 : ouvrir page dans browser
    Bonjour,

    Juste une petite question bête... est il possible de lire le contenu texte d'une page. exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     import urllib
    page=urllib.urlopen('http://python.org')
    strpage=page.read()
    Dans un navigateur web ? (En ayant fait le tour des forums je pense que non mais je demande quand même)

  2. #2
    Membre éclairé
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Points : 751
    Points
    751
    Par défaut
    Je comprends pas trop la question .
    urllib (en très gros) récupère le source de la page.
    Si tu veux l'ouvrir dans un browser, lance le browser via python avec l'url associé en paramètre (firefox le permet). Mais pour celà pas besoin d'urllib...
    A moins que tu veuilles afficher le source,et dans ce cas là,faut fouiller les options en ligne de commande du browser en question.
    En tout cas,
    bon courage...

  3. #3
    Membre éprouvé
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Points : 1 066
    Points
    1 066
    Par défaut
    Même réaction que Dahtah, je ne comprends pas bien la question.
    Sinon, si tu veux ouvrir une page dans le navigateur, la solution la plus simple est de passer par le module webbrowser
    http://docs.python.org/library/webbrowser.html

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 76
    Points
    76
    Par défaut
    Je veux ouvrir une page web en remplissant des champs de formulaire et/ou gérer une authentification.

    Si je souhaite par exemple me connecter à un forum dont je suis membre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import urllib
    import urllib2
     
    the_url = 'http://www.someserver.com/cgi-bin/register.cgi'
    values = {'name' : 'Michael Foord',
              'location' : 'Northampton',
              'language' : 'Python' }
     
    data = urllib.urlencode(values)
    req = urllib2.Request(the_url, data)
    handle = urllib2.urlopen(req)
    the_page = handle.read()
    et que je souhaite visualiser la page the_page dans mon browser

  5. #5
    Membre éprouvé
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Points : 1 066
    Points
    1 066
    Par défaut
    Wow, euh... aussi directement, c'est impossible.

    Tu pourrais imaginer, par contre, d'écrire un petit serveur HTTP vers lequel tu dirigerais le navigateur. Ce serveur pourrait alors lui sortir la page en question.

    Ou alors, tu écris un fichier sur le disque, et tu diriges le navigateur vers ledit fichier.

    Il reste une autre solution: rajouter un cookie parmi ceux du navigateur. Alors oui, il est possible de lui refiler la session... si le site est mal sécurisé.

    Mais... curiosité indiscrète: pourquoi vouloir faire ça ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 76
    Points
    76
    Par défaut
    Merci Antoine_935,

    Url lib- urllib2 permettent de s'authentifier sur des sites web, et je souhaites ensuite consulter ces mêmes sites sans pour autant utiliser de cookie. Peux tu m'en dire plus sur le serveur http?

    Merci

  7. #7
    Membre éprouvé
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Points : 1 066
    Points
    1 066
    Par défaut
    Ils permettent surement d'utiliser une authentification HTTP. Ca oui, c'est facile (enfin, faut connaître la méthode quoi).
    Hélas, les sites qui utilisent ce genre d'authentification n'existent pour ainsi dire plus de nos jours.

    Maintenant, on fait très souvent usage d'un cookie. Un cookie c'est un petit peu d'information, qui doit être retransmise au serveur lors de la prochaine requête.

    Un serveur te renverra une réponse avec un header Set-Cookie, que tu dois parser. Tu dois renvoyer les infos données via le header Cookie lors pour toute requête ayant la "même session".

    A la limite, transférer un cookie n'est pas difficile. Le souci, c'est qu'un site bien sécurisé ne permettra pas que le User-Agent (ce qui va chercher le contenu) change endéans la même session. Tu dois donc te faire passer pour le navigateur qui sera utilisé. Exactement ce navigateur là, avec son identification complète... Tu feras usage de Wireshark pour trouver cela.

    Bref, c'est pas conventionnel, et ce que tu cherches à faire n'est sans doute pas la bonne manière de procéder.

    Mais si vraiment tu tiens à continuer dans cette direction, approfondis du côté des cookies, sers toi de Wireshark et trouve comment ton navigateur stocke les cookies. C'est du SQLite sous firefox, des fichiers textes sous IE... Sans compte que la base SQLite, par exemple, est très certainement lockée pendant l'utilisation du navigateur... bref, t'es pas rendu.

    Il va te falloir trouver une alternative.

    Pour ce qui est d'en dire plus sur le serveur http...
    Eh bien, il n'y a pas 36 chemins: apprendre le protocole HTTP
    écrire un serveur
    ou alors te servir d'un serveur existant... Karrigell par exemple, me parait pas mal indiqué.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 76
    Points
    76
    Par défaut
    Merci Antoine,

    comme tu dis, je crois que je ne suis pas rendu
    Cela fait beaucoup de développement juste pour consulter des pages web.
    juste une question par curiosité, si je voulais faire ça pour m'amuser, pourquoi ne pas coder un client web?

    en tout cas merci pour ta réponse complète

  9. #9
    Membre éprouvé
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Points : 1 066
    Points
    1 066
    Par défaut
    Citation Envoyé par polo42 Voir le message
    juste une question par curiosité, si je voulais faire ça pour m'amuser, pourquoi ne pas coder un client web?
    Pourquoi pas, de fait

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

Discussions similaires

  1. Ouvrir page dans fenêtre modale
    Par Prav26 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 25/04/2014, 13h59
  2. Dans div_1, ouvrir page dans div_2
    Par malabarbe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 23/12/2011, 11h51
  3. Ouvrir page dans une nouvelle page
    Par enrico83600 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/05/2010, 15h03
  4. [CS3] ouvrir page dans nouvel onglet
    Par amelie773 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 05/11/2009, 12h15
  5. [HTML] ouvrir page dans autre page déjà ouverte
    Par geraldh713 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/10/2006, 20h37

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