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

Windows Forms Discussion :

Récupérer les headers d'une page web


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Récupérer les headers d'une page web
    Bonjour,

    Lorsqu'une page web s'ouvre elle charge différents éléments : gif, jpg, swf, flv ....

    Je voudrais pouvoir récupérer les chemins des fichiers chargés par une page web.

    L'idéal serait de pouvoir récupérer les urls des pages appelées en ajax.

    J'ai bien essayé avec l'active x web browser mais je ne pense pas trouver mon bonheur avec celui-ci (Trop limité je pense)

    Quelqu'un pourrait m'orienter ?

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    tu peux scanner le HTML pour récupérer tous les attributs src= ou href=

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Non, je ne peut pas le faire car je ne récupèrerait pas les headers des pages appelées en ajax ni autres.

    En faite je souhaite pouvoir avoir la même chose que firebug (Extension firefox pour tout développeur web) lorsque l'on click sur l'onglet "réseau".

    Svp un petit coup de pouce au moins pour savoir dans quel direction je doit aller ?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Points : 253
    Points
    253
    Par défaut
    "Headers" ? Au sens donné par la RFC HTTP ?

    Si oui, vous utiliserez sans doute HttpWebRequest, puis après l'appel à GetResponse, qui vous donnera un objet WebResponse, vous inspecterez la propriété / collection Headers :

    http://msdn.microsoft.com/en-us/libr...e.headers.aspx

    'HTH

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Avec ce que vous décrivez j'obtiend le header de la page actuel.

    Ce que je veut c'est toutes les demandes de la page au serveur:




    Toutes les ressources demandé par la page. C'est peut être plus réseaux ?

    Par exemple comment avoir les requêtes ajax demandé par une page web.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Points : 253
    Points
    253
    Par défaut
    Ah, ok ; je vois mieux... vous allez avoir un peu de travail, alors, à moins que vous puissiez trouver des ressources open source qui adressent un problème proche au votre.

    Bon, vu l'emplacement de ce fil, je fais l'hypothèse que vous etes en Winforms et que vous heberger le webbrowser IE dans votre application.. (?)

    Si c'est le cas, il vous faudra faire coopérer votre code gerant la navigation web de celui ci avec probablement un "pluggable MIME filter" qui vous permettra d'intercepter tous les echanges (au sein de l'implémentation de ce dernier, vous devrez verifier que le process / thread courant Win32 correspond a ceux de la partie "gérée" (managed) de votre code .NET)

    http://msdn.microsoft.com/en-us/libr...Pluggable_MIME

    Personnellement, je n'ai pas ecrit de MIME filter en .NET + interop URLMon ; mais j'ai réussi a implementer au moins (en C#) plusieurs APPH (Asynchronous Pluggable Protocol Handler) ; j'ai même reussi à déléguer leur implémentation vers du Windows Scripting.. ce ne fut pas simple, mais je vous confirme que ce genre de chose est realisable avec .NET + URLMon + IE

    Un autre pointeur plus concret, pour vous permettre de démarrer comme je l'ai fait :

    http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx

    Bon courage.

    'HTH

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Avant tout un grand merci de m'aider !

    Oui je suis en winforms, je développe en vb (même si je me suis déja frotté a des sources en c#). Par contre je ne connais rien à l'asp. Dsl

    Je n'ai pas développer en vb depuis 6 mois, la reprise est un peu rude mais je vais m'en sortir.

    Je ne vois pas se que vous entendez par "herberger le webbrowser ie dans mon application" ?

    Je ne connait pas le "pluggable MIME Filter" et cela me semble quelque peut compliqué, mais si c'est ce qu'il faut que j'utilise je le ferais.

    Pour mieux que vous compreniez ce que je souhaite faire je vais être trés franc:

    Je cherche depuis longtemps déja à récupérer une bande annonce sur allocine. Je sait c'est pas terrible mais c'est strictement pour un usage personnel. Je suis fan de film et sa manque dans mon application de videothèque.
    Il faut savoir (je l'ai étudié en long en large et en travers) qu'il est impossible de trouver l'url du fichier ".flv" que le flash intégré dans la page web de bande annonce appel à partir du code source.
    Seul solution connue est firebug qui à le pouvoir d'intercepter toutes les demandes de la page web au serveur.

    Je me dit alors qu'il n'y a pas de raison pour que je ne puisse pas intercepter ces demandes moi aussi avec vb.

    Donc pouvez vous me confirmer qu'il n'y a pas d'autre solution que d'utiliser le "pluggable MIME Filter" ?
    Je pense plus précisément à : n'est il pas possible de retrouver le nom des fichiers transférés entre un poste et le serveur web ?

    Je ne souhaite pas intégrer un plugin à internet explorer qui filtrerais les requête http ! (J'ai peur que se soit ce que vous ayez compris).

    Je souhaite juste savoir le nom des fichiers transférés entre mon poste et le serveur web hébergeur de la page web que j'ouvre.

    Tourné autrement: Comment récupéré le nom des fichiers transférés en streaming entre le client et le serveur sans avoir accès au serveur.


    Encore un grand merci pour votre aide.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Points : 253
    Points
    253
    Par défaut
    Hmm..

    Effectivement, là, vous en dites plus...

    Par "heberger" IE j'entendais tout simplement l'utilisation du control WebBrowser quelque part dans votre Winforms.. vous le faites ou non ?

    Maintenant, sachez qu'il est theoriquement possible de décompiler la plupart des .swf, permettant ainsi, de faire un peu de reverse engineering sur le code ActionScript (entre autres..) du player flash qui va charger la ressource en flux .flv distante... mais :

    1) rien ne vous garantit que le .swf en question (dont j'ai vu passer l'URL dans votre screenshot ci dessus) ne se protège pas contre ce genre de retro analyse qui est, a priori, à la limite de la légalité pour des besoins personnels, si ce n'est carrément illégale ; je dois avoir quelque part un lien vers un decompilateur flash, je vous transmettrai l'info si je la retrouve (mais vous pouvez toujours googler vous même..)

    2) je continue de penser que sans avoir besoin de decompiler leur player flash, et si votre Winforms passe par un IE dans un control WebBrowser, un MIME filter pour lequel vous avez maintenant quelques ressources pourrait certainement vous être utile

    3) enfin, cela dit, je ne suis pas un grand spécialiste sur toutes les possibilités offertes par flash pour jouer une video en streaming, et il se peut que tout ce que je vous raconte ne soit pas envisageable dans votre (leur) cas

    'HTH

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Pour le webbrowser je suis pas contre l'utilisé mais je ne vois pas comment utiliser le MIME Filter.

    Pour le flash, je me suis pencher dessus deux nuit mais ne connaissant rien au flash, je ne suis pas parvenu à le comprendre. Et je connais personne qui connaisse bien le flash.

    J'ai bien conscience que récupérer les bandes annonces comme sa c'est pas très propre et surtout pas terrible au niveau de la légalité, mais cela est déja tout a fait faisable grâce à firebug (on trouve très vite comment faire avec google), il s'agit seulement pour moi de me faciliter la tache.

    Pourriez vous m'en dire plus sur le MIME Filter pour que je comprenne.
    C'est quoi exactement ?
    Un exemple de code simple ?
    Cela fait partie de l'objet webbrowser ?
    ...

    Encore merci de votre aide.
    Vous remontez mon estime des forums. (En général personne ne trouve réponse à mes questions)

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par geekspirit Voir le message
    [...]
    Pourriez vous m'en dire plus sur le MIME Filter pour que je comprenne.
    C'est quoi exactement ?
    Un exemple de code simple ?
    Cela fait partie de l'objet webbrowser ?
    ...

    Encore merci de votre aide.
    Vous remontez mon estime des forums. (En général personne ne trouve réponse à mes questions)
    Ok. Bon, je simplifie significativement mais voilà en gros de quoi il s'agit :

    * (hypothèse) vous avez donc une application .NET Winforms (ecrite en VB.NET, mais peu importe.. même si on a besoin de coder a un moment en C#, "pour le confort", on pourra inter-opérer avec votre VB.NET sans problème, c'est tout l'interet de .NET, justement...) ; dans celle ci, sur une form, vous deposez un webcontrol (qui encapsule Internet Explorer, du moins toute la partie rendu / navigation)

    * du coup => IE, lui, s'appuie sur les services d'URLMon (composant système Windows) pour tout ce qui est recuperation des ressources à base d'URLs.. d'où le nom ... "URL MON-ikers" ; bref, c'est un peu "la plaque tournante" lors d'une session de surf web avec le navigateur Microsoft ; ULRMon va par exemple (entre autres !) associer un type MIME (genre image/jpeg, etc) aux ressources pour lesquelles IE va lui fournir des URLs ; ainsi, lorsque la ressource est recuperée des couches plus basses (Winsock pour TCP/IP sous Windows, p.ex), IE saura, lors du rendu HTML que tel tag "<img src='...' etc>" reference bien une image, et que c'est du jpeg, etc

    * or, avec les interfaces dont je vous ai donné le lien MSDN et un exemple codeproject d'utilisation, vous pouvez, pour une application particulière, ou pour tout le système Windows plus globalement, "instruire" URLMon de s'interesser a certains types d'URLs, en fonction de leur syntaxe (p.ex : "skype:blahbla" ou "ftp://blablahblah", etc) et/ou du type de contenu (type MIME) identifié par défaut par URLMon ; c'est ce dernier point qui va vous intéresser : vous allez developper une "extension" à URLMon pour que celui ci "surveille" tous les echanges qui impliquent le type MIME "video/x-flv" et appeler, d'une maniere ou d'une autre votre code applicatif Winforms qui enregistrera soit l'URL effective (qui etait jusqu'a present inaccessible), pour la rejouer plus tard, soit carrément enregistrer le flux complet .flv localement

    Type MIME "Flash Video" indiqué sur :

    http://fr.wikipedia.org/wiki/Flash_Video

    (voir dans le cartouche de droite de cette page wikipedia)

    * mais pour cela, il faudra donc mettre en oeuvre des techniques proches de celles demontrées dans ce projet codeproject, en C#

    La première étape, pour vous, c'est d'essayer de mettre en oeuvre l'exemple codeproject, de le tester, d'en faire un MIME filter plutot qu'un APPH (comme c'est le cas pour l'instant), en vous guidant de la documentation officielle Microsoft ; je ne vous promet rien, mais je vais moi même essayer de m'y pencher dessus et si j'ai un bout de code pertinent pour la partie MIME filter qui peut vous aider à démarrer, je le posterai sur ce fil asap.

    A moins que... que quelqu'un d'autre ait une meilleure idée pour vous aider, plus rapidement et plus simplement ; mais quoiqu'il en soit, j'aurais envie de dire que ce que vous essayer de faire n'est pas exactement trivial de toute façon... mais, pour être plus positif, je ne pense pas que ce soit impossible non plus, dans un délai "raisonnable", c-à-d, sans y passer des semaines..

    'HTH

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci pour ces explications, je vais me penché sérieusement sur le sujet.
    Je vais essayer de m'instruire sur le sujet et d'arrivé a bien cerner tout cela je vous informerais de mon avancée et n'hésiterai pas à poster un bout de code si celui -ci est correct.

    Je vous avoues que je ne suis pas convaincu de m'en sortir même avec la plus grand volonté qui soit. C'est pourquoi si comme vous le dite vous arrivé a coder un début, je vous supplie de m'en faire part.

    Encore merci.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Me revoici car j'ai trouvé quelque chose qui pourrait bien m'avance je pense.

    http://support.microsoft.com/kb/260840

    Il s'agit d'un filtre MIME pour Internet Explorer.

    J'ai donc téléchargé à grande vitesse le fichier MIMEfilt.exe

    Mais c'est avec déception qu'après extraction je m'aperçois qu'il s'agit de c++

    Je ne comprend rien et en plus il y à une erreur.

    Pourrier vous svp jeter un oeil et si possible le compiler en dll.

    De cette manière je pourrais peut être m'en servir ?

    Encore merci, vous êtes mon seul espoir...

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Points : 253
    Points
    253
    Par défaut
    J'ai une bonne nouvelle pour vous :

    en creusant un peu, on trouve une solution (sources inclus) beaucoup plus simple a mettre en oeuvre, pour votre probleme, que ces filtres MIME dont je vous parlais :

    http://www.codeproject.com/KB/IP/MyDownloader.aspx

    (Ce qui ne m'empeche pas de continuer a investiguer sur l'implementation de MIME filters pour IE / URLMon en .NET...)

    'HTH

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Bonsoir et merci de donner suite à mon problème.

    J'ai essayer la source que vous avez trouvé, mais je n'arrive pas à saisir en quoi elle peut m'aider.
    Il s'agit d'un script de téléchargement non ?
    Merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/03/2014, 10h00
  2. Récupérer les metas d'une page web avec un bookmarklet en javascript
    Par cocobelle89 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/06/2013, 14h09
  3. Logiciel pour récupérer que les mails dans une page web
    Par mouss4rs dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 24/07/2010, 14h41
  4. Récupérer les headers d'une page ouverte avec fopen()
    Par Woodgate dans le forum Langage
    Réponses: 1
    Dernier message: 15/04/2010, 08h23

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