Page 1 sur 2

Récupérer la source d'un site nécessitant login et M.D passe

Publié : mer. 02/févr./2011 17:34
par Ar-S
Voilà,
Je suis en train de me faire un petit soft qui permet de chopper l'adresse en cours d'utilisation sur le navigateur par defaut.
Quand une page m'interresse, je clic sur un bouton de mon prog qui recupère la source via la procédure

Code : Tout sélectionner

;- RECUPERATION DE LA SOURCE D'UNE PAGE WEB ----------------------------
ProcedureDLL.s Url2Text2(Url.s, OpenType.b,ProxyAndPort.s)
  ;/ Author : Pille
  isLoop.b=1
  INET_RELOAD.l = $80000000
  hInet.l=0
  hURL.l=0
  Bytes.l=0
  Buffer.s= Space (2048 )
  RES.s= ""
  hInet = InternetOpen_ ( "" , OpenType, ProxyAndPort, "" , 0)
  hURL = InternetOpenUrl_ (hInet, Url, #Null , 0, INET_RELOAD, 0)
  Repeat
    InternetReadFile_ (hURL,@Buffer, Len (Buffer), @Bytes)
    If Bytes = 0
      isLoop=0
    Else
      RES = RES + Left (Buffer, Bytes)
    EndIf
  Until isLoop=0
  InternetCloseHandle_ (hURL)
  InternetCloseHandle_ (hInet)
  ProcedureReturn RES
EndProcedure

ProcedureDLL.s Url2Text(Url.s)
  ProcedureReturn Url2Text2(Url,1, "" )
EndProcedure 
Jusqu'ici ça va.
Mais si par exemple, je souhaite récupérer la source d'une page où j'ai du me loguer avant, ça ne fonctionne pas.
Je ne sais pas du tout quelle voie emprunter pour résoudre ce soucis d'autant plus que je ne souhaite pas (du tout) de webgadget.
Merci pour vos lumières.

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : jeu. 03/févr./2011 20:16
par Parole De JOJO
je n'ais pas tres bien compris
tu pourrais mettre un petit exemple?

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : jeu. 03/févr./2011 21:19
par Ar-S
Un exemple...

Ton lien "panneau de l'utilisateur" te mène à la page : http://www.purebasic.fr/french/ucp.php
si tu n'est pas "membre" du forum, tu ne peux pas accéder à cette page.
La procédure ne traite pas les infos des cookies et je n'ai pas d'idée concernant leur gestion avec PB.

Code : Tout sélectionner


Procedure.s Url2Text2(Url.s, OpenType.b,ProxyAndPort.s)
  isLoop.b=1
  INET_RELOAD.l = $80000000
  hInet.l=0
  hURL.l=0
  Bytes.l=0
  Buffer.s= Space (2048 )
  RES.s= ""
  hInet = InternetOpen_ ( "" , OpenType, ProxyAndPort, "" , 0)
  hURL = InternetOpenUrl_ (hInet, Url, #Null , 0, INET_RELOAD, 0)
  Repeat
    InternetReadFile_ (hURL,@Buffer, Len (Buffer), @Bytes)
    If Bytes = 0
      isLoop=0
    Else
      RES = RES + Left (Buffer, Bytes)
    EndIf
  Until isLoop=0
  InternetCloseHandle_ (hURL)
  InternetCloseHandle_ (hInet)
  ProcedureReturn RES
EndProcedure

Procedure.s Url2Text(Url.s)
  ProcedureReturn Url2Text2(Url,1, "" )
EndProcedure 

SetClipboardText("http://www.purebasic.fr/french/ucp.php")
MessageRequester("ok","Le code source de la page 1 est dans le presse papier")
End
Si tu colles la source, tu verras que son contenue est la page redirigé => inscription.

Donc j'aurai aimé que mon soft puisse puiser les infos dont le site à besoin (le contenu du cookie je suppose) et puisse récupérer la source de la page que je visite.

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 2:15
par Backup
Ar-S a écrit : je suppose) et puisse récupérer la source de la page que je visite.
une idée : pourquoi tu n'utilise pas la page qui est dans ton cache ??
tout les navigateurs ont un cache , dans lequel il precharge les pages html que tu visite .. ;)

bon c'est une idée hein...moi j'dit ça... :lol:

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 3:17
par Ar-S
C'est pas con du tout ça :) mais firefox stock bizarrement le cache, j'ai l'impression qu'il ne stock pas les pages brut de pomme.

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 9:35
par Cls
FF stocke tous ses fichiers (historiques, cache, cookies, etc.) dans des bases SQLite. ;)

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 10:11
par Ar-S
Merci Cls, tu me l'apprends !
Du coup j'ai ouvert le fichier urlclassifier3.sqlite avec sqlitemanager (addon FF) mais je n'y bite rien du tout.
Je ne trouve pas de trace des url etc..
Tu l'as déjà brassé ?

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 10:51
par Backup
pourquoi t'embeter là ? :lol:

tu tape "about:cache?device=memory" dans la barre d'adresse Url de Firefox :)

et tu as acces a tout le cache en clair :) (haaa! ces jeunes :lol: )

voir list des "About:" ici :
http://fr.wikipedia.org/wiki/About:

marche pour tout les navigateurs , seul la syntaxe change un peu ;)

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 11:05
par Ar-S
nan mais about:cache etc je connais, mais je ne vois pas ce que ça m'apporte.
exemple, pour un site :

L'adresse affichée dans le cache disque est (introuvable dans le memory cache):

Code : Tout sélectionner

id=4d4b55ba&uri=http://UnForumVbulletin/misc.php?show=ccbmessages
En cliquant dessus, j'ai accès à un contenu en hexa, ça m'avance pas trop...

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 11:08
par Backup
Ar-S a écrit : L'adresse affichée dans le cache disque est (introuvable dans le memory cache):

Code : Tout sélectionner

id=4d4b55ba&uri=http://UnForumVbulletin/misc.php?show=ccbmessages
En cliquant dessus, j'ai accès à un contenu en hexa, ça m'avance pas trop...
heu l'adresse que tu donne ne marche pas de toute façon ! :roll:

donne une adresse complete et qui fonctionne , pour que je test le about:

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 11:18
par Cls
J'ai déjà utilisé mais je ne suis pas un expert.

Un lien pour en apprendre plus : http://www.geckozone.org/articles/2008/ ... -firefox-3

Edit : concernant les fichiers de Cache, je n'ai pas l'impression qu'ils soient consultables directement, à l'inverse d'IE par exemple

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 12:42
par GallyHC
Bonjour,

Je ne savais pas non plus que FF stocker ces infos dans une base SQLite, merci pour l'info (c'est toujours bon a savoir).

Cordialement,
GallyHC

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 14:47
par Ar-S
Dobro a écrit :
Ar-S a écrit : L'adresse affichée dans le cache disque est (introuvable dans le memory cache):

Code : Tout sélectionner

id=4d4b55ba&uri=http://UnForumVbulletin/misc.php?show=ccbmessages
En cliquant dessus, j'ai accès à un contenu en hexa, ça m'avance pas trop...
heu l'adresse que tu donne ne marche pas de toute façon ! :roll:

donne une adresse complète et qui fonctionne , pour que je test le about:
Dobro
Avec le fofo ici ça marche... :?
Essaye en allant sur ta page Panneau de l'utilisateur :
Ce qui devrait en cache te donner :

Code : Tout sélectionner

about:cache-entry?client=HTTP&sb=1&key=http://www.purebasic.fr/french/ucp.php?sid=xxxxxxx
xxxxxxx = Ton SID

C'est une 1ere étape intéressante, mais comment chopper automatiquement via PB le contenu de ce qui est affiché ?
En tout cas la source en ascii(l'hexa je m'en cogne)

CLS merci pour le lien, pas mal. Dans la direction SQlite, j'ai essayé d'ouvrir cookies.sqlite avec sqlite manager mais il me dit que le fichier est crypté ou corrompue (donc crypté car j'ai pas de soucis avec mes cookies)

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 16:35
par Cls
Oui le fichier cookies.sqlite est crypté.

Pour faire ce que tu souhaites, je te dirais bien d'aller voir par ici : http://www.purebasic.fr/french/viewtopi ... =1&t=11417

Le code est similaire au tien mais il est possible d'ajouter des données comme le cookie de connexion dans les entêtes. Grâce à ça, tu pourras te connecter et récupérer le source.

En gros 2 étapes :
1. tu te connectes au site en envoyant login/mdp. Tu récupères dans la réponse à ta requête le COOKIE de session envoyé par le serveur.
2. tu renvois une seconde requête pour la page qui t'intéresse en joignant en entête le COOKIE précédemment récupéré

Voilou ;)

Re: Récupérer la source d'un site nécessitant login et M.D p

Publié : ven. 04/févr./2011 16:42
par Backup
moi j'ai

Key: http://www.purebasic.fr/french/ucp.php?i= numero ici <-----
Data size: 17841 bytes
Fetch count: 1
Last modified: 2011-02-04 16:40:34
Expires: 1970-01-01 01:00:00
quoiqu'il en soit récupérer ça , ne dois pas etre la mer a boire non ?