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

C# Discussion :

Affichage page web via httpClient


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut Affichage page web via httpClient
    Bjr à tous, comment faire pour afficher une page web depuis un code c# utilisant httpclient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public static async Task HttpAsync()
    {
        var url = "http://www.google.com"; 
        using (var httpClient = new HttpClient())
        {
            var content =await httpClient.GetStringAsync(url);
        }
    }
    la "var content" si je débogue en utilisant le visualisateur html de visual studio m'affiche la page web correspondant à l'url, mais comment fais t-on pour afficher cette page web par programmation ?
    Si quelqu'un a une idée MERCI

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 987
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 987

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut
    Merci pour ta réponse, oui je connais la classe WebBrowser mais c'est pas ce que je veux faire, je voudrais pouvoir avec le résultat de la méthode afficher via le navigateur du PC la page web.

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 987
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 987
    Par défaut
    Dans ce cas, un simple Process.Start avec l'URL devrait faire l'affaire

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut
    oui je sais mais alors question bête à quoi sert httpclient ?

  6. #6
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Citation Envoyé par xeron33 Voir le message
    oui je sais mais alors question bête à quoi sert httpclient ?
    Ben comme son nom l'indique, c'est un client HTTP, donc envoyer / récupérer des requêtes d'un serveur HTTP.

    La plupart du temps (hormis si ton but est de faire un navigateur évidemment), c'est pour récupérer des appels a des API, ou récupérer du HTML en brut.

    En fait un navigateur est un simple client HTTP aussi, qui mets en forme, grâce a des moteurs HTML / JS / ..., les pages web.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut
    Citation Envoyé par PixelJuice Voir le message
    récupérer des requêtes d'un serveur HTTP.
    Bonjour merci pour ta réponse, je cherche le moyen de récuperer l'url d'une requete http quand l'utilisateur surfe sur le net via le navigateur du PC. J'essaie avec httplistener en vain et httpclient également as tu une piste ?

  8. #8
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Citation Envoyé par xeron33 Voir le message
    Bonjour merci pour ta réponse, je cherche le moyen de récuperer l'url d'une requete http quand l'utilisateur surfe sur le net via le navigateur du PC. J'essaie avec httplistener en vain et httpclient également as tu une piste ?
    Vaste question, mais il va falloir plus de détails.

    Avec un WebBrowser ça serait très facile. Par contre si le but est de capturer un peu le trafic qui se passe sur un navigateur, là c'est déjà plus technique. Il faudrait écouter les ports 80 / 443 du PC avec une techno externe genre SharpPCap, ou alors mettre en place un Proxy pour récupérer directement le tout. Ou si le navigateur est fixe, tu peux même lire dans sa mémoire directement, ou alors écrire une extension.

    Comme j'ai dit plus haut, vaste sujet. Il faudrait d'abord que tu nous décrives ce que tu cherches exactement à faire.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut
    Citation Envoyé par PixelJuice Voir le message
    Vaste question, mais il va falloir plus de détails.

    Avec un WebBrowser ça serait très facile. Par contre si le but est de capturer un peu le trafic qui se passe sur un navigateur, là c'est déjà plus technique. Il faudrait écouter les ports 80 / 443 du PC avec une techno externe genre SharpPCap, ou alors mettre en place un Proxy pour récupérer directement le tout. Ou si le navigateur est fixe, tu peux même lire dans sa mémoire directement, ou alors écrire une extension.

    Comme j'ai dit plus haut, vaste sujet. Il faudrait d'abord que tu nous décrives ce que tu cherches exactement à faire.
    Bonjour et merci mon souhait est quand l'utilisateur va sur un site internet depuis le navigateur du PC, récupérer la valeur de l'url: si je vais sur sur google la fonction me renverrait "https://www.google.com" .

    J'ai essayé avec SharpPcap mais le problème est que SharpPcap me renvoie des tas de packets ça encore c'est pas très grave mais surtout pour un site donné, les "IP" ne sont pas toujours identiques ainsi que les "hostname" donc difficile de s'y retrouver....ça marche pas pour tous les sites... en tout cas à mon humble avis...

    Merci encore A+

  10. #10
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Je n'ai jamais trop testé mais normalement tu peux voir un peu les entêtes et fouiller dans les méta données des requêtes HTTP pour trouver ton bonheur.

  11. #11
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 987
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 987
    Par défaut
    Attention, l'accès aux URL visitées est considéré comme une donnée très sensible, d'autant plus que cela permet un profilage détaillé de l’utilisateur.
    Je te suggère de te renseigner sur la légalité d'une telle pratique.

    Entre autres, mais j'en oublie certainement :
    Article 9 du Code Civil
    Article 226-1 du Code Pénal
    Article 82 de la loi Informatique et Libertés
    Articles 4(11) et 7 du RGPD
    Article L. 34-1 du Code des postes et des communications électroniques
    Article 6 II de la loi pour la confiance dans l’économie numérique

  12. #12
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 082
    Par défaut
    +1 avec @popo,

    Depuis que je suis ce sujet j'ai l'impression qu'il est suffisamment incompréhensible pour amener à des solutions pas très éthiques.

    À mon sens, je comprend ça comme une application qui tourne en tâche de fond, et qui dès lors que chrome est exécuté ou fermé, envoi un événement (autre appli dans chrome) à l'application, y compris des informations comme l'URL et les heures de connexion, déconnexion.

    En gros un keylogger du web...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 554
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 554
    Par défaut
    Quels mécanismes du web tu cherches à comprendre ?

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut
    Citation Envoyé par umfred Voir le message
    Quels mécanismes du web tu cherches à comprendre ?
    *****************************
    bjr et merci pour ta réponse, d'après ce que j'ai compris via mes recherches, l'écoute en c# avec ne fonctionnera que sur mon réseau local ou mon ipv4, je voudrais savoir déjà quelle différence il y a entre ces deux adresses et quel est l'interêt de surveiller son réseau local ou son ipv4?

  15. #15
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Citation Envoyé par xeron33 Voir le message
    je voudrais savoir déjà quelle différence il y a entre ces deux adresses
    Si tu ne sais pas, il va falloir aller lire un petit cours sur les bases du réseau.

    Citation Envoyé par xeron33 Voir le message
    quel est l'interêt de surveiller son réseau local ou son ipv4?
    Ben à toi de nous le dire en fait, c'est toi qui cherche à faire quelque chose en particulier mais tu ne nous le dit pas vraiment. Surveiller dans quel sens exactement ?

    Tu passes du coq à l'âne, du coup c'est un peu difficile pour nous à suivre et de savoir ou tu veux en venir vraiment. C'est peut-être dans une optique d'apprentissage que tu veux faire un petit programme comme ça ?

  16. #16
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 082
    Par défaut
    Hello,

    On passe de "Affichage page web via httpClient" à listener (tout le monde sait qu'on parle d'événements) qui sont des sujets qui n'ont rien à voir.
    Bon au cas où le sujet des événements t'intéressent, voici une vidéo :


    Ce que tu veux (et avec tout ce mélange de demandes c'est pas sûr) n'est pas un client mais un serveur (attente passive d'une notification pour réagir ensuite). Pour cela tu devras créer une extension chrome par exemple (comme un espion) qui aura reçu les autorisations nécessaires pour écouter ces événements. Cette espion va recevoir les infos chrome et les envoyer vers ton appli serveur local.

    Si chrome ou autres navigateurs te jettent pas ton extension (tu auras beaucoup de chances) peut-être que ça pourra fonctionner.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  17. #17
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 554
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 554
    Par défaut
    quelles 2 adresses ? pour moi tu ne parles que d'une seule, celle de ton pc (ipv4). une adresse de réseau local dans les faits, ça donne la plage d'adresses disponibles dans ton réseau, donc pas très différent de ton ipv4 local (de ton pc).
    Sauf si tu parlais de ton adresse public, celle qui est visible depuis internet et fournit par ton FAI.

    Et tu ne réponds pas à la question posée

  18. #18
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    TCP / IP est un protocole de communication (échange d'octets bidirectionnel entre 2 pcs)
    pour faire une communication tcp il faut par exemple un tcplistener et un tcpclient
    l'un écoute sur un port, et un autre pc demande à se connecter à l'ip et au port de l'autre

    http est un protocole de dialogue qui utile TCP/IP (une norme dans les octets en gros)

    http client est une classe qui encapulse ce protocole de dialogue, et utilise donc une connection tcp en plus du dialogue vers l'ip du serveur web
    http client c'est donc en gros ce que fait un navigateur, donc ca n'a jamais servi à écouter ce qu'un navigateur fait
    son utilisé est par exemple de se connecter à une API web


    donc au lieu d'improviser du code sans trop savoir ce que tu veux faire (tu ne sembles même pas capable de dire ce que tu cherches à faire !)
    essaie d'apprendre des trucs (y a des millions de tutos pour ca) et essaie ensuite de formuler ce que tu veux faire


    et les mécanismes du web, c'est le navigateur doit traduire google.com en ip (il communique pour ca avec un serveur DNS si la correspondance n'est pas en cache)
    ensuite il ouvre une connexion tcp vers l'ip puis via le protocole http envoie l'url, les headers ..., il recoit ensuite le contenu (html, js) puis affiche le contenu

    tcplistener et httplistener ne servent pas qu'à écouter localhost en ipv4, ca écoute sur ton pc, ca peut fonctionner en ipv6 aussi
    mais le serveur web qui va te fournir la page en gros il utilise ca pour pouvoir te répondre
    ca sert donc à faire communiquer 2 processus (qu'ils soient sur 2 pc différents ou sur le même)

    donc si tu veux écouter ce que fais l'utilisateur, tu fais totalement fausse route, il te faut un truc type une extension du navigateur, un proxy, un sniffeur tcp ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut
    Citation Envoyé par PixelJuice Voir le message
    Si tu ne sais pas, il va falloir aller lire un petit cours sur les bases du réseau.
    oui j'en suis conscient


    Ben à toi de nous le dire en fait, c'est toi qui cherche à faire quelque chose en particulier mais tu ne nous le dit pas vraiment. Surveiller dans quel sens exactement ?
    Ca je l'ai déjà expliqué Bonjour merci pour ta réponse, je cherche le moyen de récuperer l'url d'une requete http quand l'utilisateur surfe sur le net via le navigateur du PC.

    Tu passes du coq à l'âne, du coup c'est un peu difficile pour nous à suivre et de savoir ou tu veux en venir vraiment. C'est peut-être dans une optique d'apprentissage que tu veux faire un petit programme comme ça ?
    oui c'est de la simple curiosité

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 914
    Par défaut
    Citation Envoyé par umfred Voir le message
    quelles 2 adresses ? pour moi tu ne parles que d'une seule, celle de ton pc (ipv4). une adresse de réseau local dans les faits, ça donne la plage d'adresses disponibles dans ton réseau, donc pas très différent de ton ipv4 local (de ton pc).
    Sauf si tu parlais de ton adresse public, celle qui est visible depuis internet et fournit par ton FAI.

    Et tu ne réponds pas à la question posée
    Merci et bien ma première question était de savoir la différence entre ipv4 et adressse réseau local et d'après mes recherches j'ai ça :

    IPv4 = peut être publique ou privée

    Adresse réseau local = utilisée seulement dans réseau domestique

Discussions similaires

  1. [tele2-NetGear]Résoudre problème de lenteur à l'affichage pages web
    Par georgeduke dans le forum Dépannage et Assistance
    Réponses: 1
    Dernier message: 08/02/2008, 13h56
  2. probleme affichage page web
    Par Emcy dans le forum Réseau
    Réponses: 15
    Dernier message: 17/04/2007, 09h14
  3. [web] Problème affichage page web
    Par benji2642 dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/04/2007, 02h00
  4. Problème affichage page web html ou htm
    Par metmac1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 08/03/2007, 21h15
  5. [Caractères japonais] Affichage page web
    Par rgomes dans le forum Langage
    Réponses: 3
    Dernier message: 02/07/2006, 19h40

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