Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoyer des requets GET en python

    26 juillet 2010 à 12:46:30

    Bonjour,,

    Comment on ecrit des requetes HTTP/Get en python:
    par exemple afficher les informations sur python en utilisant l'url suivant:

    http://search.google.com python


    Cordialement
    • Partager sur Facebook
    • Partager sur Twitter
      26 juillet 2010 à 14:35:00

      Bonjour,

      Je ne suis qu'un débutant, mais as-tu regardé du côté de Django ?
      • Partager sur Facebook
      • Partager sur Twitter
        26 juillet 2010 à 14:41:30

        no, plutot je cherche un code pour ecrire cette requete afin de l'inserer dans un programme
        • Partager sur Facebook
        • Partager sur Twitter
          26 juillet 2010 à 14:47:14

          Le module urllib ne suffit pas ?
          Puisque la méthode GET peut être utilisée en collant les paramètres à l'adresse appelée, ça devrait le faire, non ?
          • Partager sur Facebook
          • Partager sur Twitter
          Zeste de Savoir, le site qui en a dans le citron !
            26 juillet 2010 à 23:25:40

            Pour une requête GET simple, urllib, pour des choses plus élaborées (headers, cookies), urllib2.
            • Partager sur Facebook
            • Partager sur Twitter
              27 juillet 2010 à 20:28:25

              Sinon il y a aussi httplib pour envoyer des requêtes HTTP.
              • Partager sur Facebook
              • Partager sur Twitter
                29 juillet 2010 à 12:02:51

                merci pour vos réponse, qlq peut m'ecrire un code bien simplifier, et quelle est la différence entre le module hhtplib et urllib ?

                merci
                • Partager sur Facebook
                • Partager sur Twitter
                  29 juillet 2010 à 12:11:44

                  Citation : jihbed

                  merci pour vos réponse, qlq peut m'ecrire un code bien simplifier...


                  Oui, je connais quelqun de sympa qui peut le faire : la documentation de python

                  Citation : jihbed


                  ... , et quelle est la différence entre le module httplib et urllib ?


                  Pareil.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Zeste de Savoir, le site qui en a dans le citron !
                    29 juillet 2010 à 12:57:14

                    import httplib
                    # on cree un connection avec le serveur:
                    httpServ= httplib.HTTPConnection("adresse du seveur", port )
                    #on se connecte au serveur
                    httpServ.connect()
                    #on envoie la requete
                    httpServ.request('GET',requete)
                    response = httpServ.getresponse()
                    #les verification  :
                    if response.status == httplibOK :
                       printText(response.read())
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      29 juillet 2010 à 13:33:26

                      import urllib2
                      req = urllib2.Request(site)
                      try:
                          url=urllib2.urlopen(req)
                      except:
                          print "mauvaise URL"
                      
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 juillet 2010 à 0:35:14

                        urllib est de plus haut niveau et peut gérer d'autre protocoles que httplib
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 août 2010 à 10:31:22

                          je me permet de relancer le sujet car j'ai un probleme sensiblement similaire.
                          J'aimerais pouvoir lire une page web à l'aide d'un script python cependant il faut que je sois identifier par le site. Après moultes recherches sur google j'en suis arrivé au code suivant:

                          import urllib2
                          requete = urllib2.Request('http://www.lesiteweb.com')
                          requete.add_header('Cookie', 'PHPSESSID=valeurDePHPSESSID')
                          resultat = urllib2.urlopen(requete)
                          print resultat.read()
                          


                          comme vous vous en doutez cela ne marche pas et je ne comprends pas pourquoi :euh: . Un peu d'aide serait la bienvenue :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            4 août 2010 à 10:54:14

                            Bonjour,

                            Vaudrait mieux un nouveau sujet!

                            Cependant va voir le dernier code de cette page

                            • Partager sur Facebook
                            • Partager sur Twitter
                              4 août 2010 à 13:15:34

                              Citation : loic13012

                              comme vous vous en doutez cela ne marche pas et je ne comprends pas pourquoi :euh: . Un peu d'aide serait la bienvenue :)


                              Copier des codes sans rien comprendre, c'est inutile, dangereux, et pas du tout pédagogique.

                              Essaye de comprendre ce que tu fais, et ça ira beaucoup mieux.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Blond, bouclé, toujours le sourire aux lèvres...

                                4 août 2010 à 21:12:05

                                Citation : LoupSolitaire

                                Copier des codes sans rien comprendre, c'est inutile, dangereux, et pas du tout pédagogique.



                                ce que je ne comprends pas c'est pourquoi cela ne marche pas, après ce que fait le code je le comprends en gros.
                                Et puis si j'avais tout compris je ne viendrais pas ici soliciter de l'aide.

                                @fred1599 : merci pour ton lien je médite encore sur cette doc et j'essais d'approfondir le sujet. Si je galère encore j'ouvrirais un autre topic.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  4 août 2010 à 22:20:48

                                  Citation : loic13012

                                  ce que je ne comprends pas c'est pourquoi cela ne marche pas, après ce que fait le code je le comprends en gros.


                                  Ok, alors à ton avis que fait cette ligne : requete.add_header('Cookie', 'PHPSESSID=valeurDePHPSESSID')

                                  Citation : loic13012

                                  Et puis si j'avais tout compris je ne viendrais pas ici soliciter de l'aide.


                                  Bah justement, de l'aide, c'est ce que je viens de te donner en t'avertissant que tu agissait n'importe comment ;)

                                  EDIT : Pour détailler un peu plus précisément, pour s'identifier sur un site il faut fournir des identifiants (un couple login/password le plus souvent), ensuite le site va probablement conserver la session en utilisant un ou plusieurs cookie(s), les autres méthodes n'étant pas trop utilisées.

                                  Avant d'écrire la moindre ligne de code, il faut commencer par voir comment le site sur lequel tu veux t'identifier fonctionne, ça te permet de savoir quel comportement ton programme doit reproduire. Ensuite tu peux commencer à envisager d'écrire du code, mais certainement pas avant ça.
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Blond, bouclé, toujours le sourire aux lèvres...

                                  Anonyme
                                    4 août 2010 à 22:50:06

                                    Citation : fred1599


                                    Cependant va voir le dernier code de cette page



                                    Cette page a été traduite en français. Et bien que la traduction ne soit pas au top, il faut remercier l'âme charitable qui nous l'a offerte, à nous autres (plus ou moins) francophones :-° !

                                    Le traducteur est Gerard Labadie. ;)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      5 août 2010 à 12:23:58

                                      Citation : LoupSolitaire

                                      Ok, alors à ton avis que fait cette ligne : requete.add_header('Cookie', 'PHPSESSID=valeurDePHPSESSID')


                                      cette ligne permet d'ajouter le nom et la valeur du cookie dans les headers de la requete http (dis moi si je me trompe).

                                      Citation : LoupSolitaire

                                      il faut commencer par voir comment le site sur lequel tu veux t'identifier fonctionne


                                      en efffet c'est ce que je me suis dit aussi. Mais comment faire ? utiliser un sniffer pour voir comment se comporte mon navigateur sur le site (avec lui j'arrive à me connecter) parait-il une bonne idée ?

                                      @LeYan'tibus : oui j'avais fort heureusement remarqué la traduction en français, elle m'a bien aidée.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        5 août 2010 à 14:00:13

                                        Citation : loic13012

                                        Citation : LoupSolitaire

                                        Ok, alors à ton avis que fait cette ligne : requete.add_header('Cookie', 'PHPSESSID=valeurDePHPSESSID')


                                        cette ligne permet d'ajouter le nom et la valeur du cookie dans les headers de la requete http (dis moi si je me trompe).


                                        Elle permet d'ajouter un cookie qui s'appelle PHPSESSID ayant pour valeur "valeurDePHPSESSID".
                                        Maintenant cette ligne est pas magique, il vaut que ces valeurs aient un sens, il aurait fallu les remplacer par le nom du cookie utilisé par le site et la bonne valeur.

                                        De plus avant d'avoir un cookie de session valide, il faut déjà s'authentifier sur le site avant :p

                                        Citation : loic13012

                                        en efffet c'est ce que je me suis dit aussi. Mais comment faire ? utiliser un sniffer pour voir comment se comporte mon navigateur sur le site (avec lui j'arrive à me connecter) parait-il une bonne idée ?


                                        Avec l'extension firebug de firefox, tu peux voir les requètes dans l'onglet réseau, avec les données qui passent entre le client et le serveur, c'est plus facile d'utiliser ça qu'un sniffer ;)
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Blond, bouclé, toujours le sourire aux lèvres...

                                          5 août 2010 à 15:19:22

                                          oui évidement lorsque j'exécute mon code je remplace la valeur de PHPSESSID par sa vrai valeur que j'obtiens sous opera en faisant clic-droit -> inspecter l'élément -> onglet stockage.
                                          le site utilise deux cookies : PHPSESSID et SMFCookie89

                                          Citation : LoupSolitaire

                                          Avec l'extension firebug de firefox, tu peux voir les requètes dans l'onglet réseau, avec les données qui passent entre le client et le serveur, c'est plus facile d'utiliser ça qu'un sniffer


                                          Merci du tuyau :) , je vais tenter firebug et voir ce que ça donne.
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Envoyer des requets GET en python

                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                          • Editeur
                                          • Markdown