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

VB.NET Discussion :

HttpWebResponse : quelques précisions svp


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut HttpWebResponse : quelques précisions svp
    Salut à tous !

    Afin de me préparer à un petit projet d'application, j'essaye d'apprendre petit à petit quelques fonctions de VB.net.

    Aujourd'hui, j'essaye de faire une requête http afin de récupérer des données sur un API web (ici).

    J'ai déjà fait ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Imports System.Net
    Imports System.IO
    Imports System.Text
     
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim requete As HttpWebRequest = HttpWebRequest.Create("http://api.bfbcs.com/api/pc?players=Sp4s12&fields=all")
            Dim reponse As HttpWebResponse = requete.GetResponse()
            Dim receiveStream As Stream = reponse.GetResponseStream()
            Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)
            RichTextBox1.Text = readStream.ReadToEnd
            receiveStream.close()
            readStream.close()
        End Sub
    End Class
    Cela marche plutôt bien mais j'ai une question...
    Ce code me retourne ce résultat :


    Des lignes et des lignes de résultat de requête. Evidemment, cela ne présente aucun intérêt de mettre une richtextbox pour cela. Mais c'était pour illustrer ma question :

    Comment assigner une valeur à un emplacement de tableau ?

    J'ai vraiment du mal avec les tableaux, alors si en plus il faut les ajouter aux requêtes j'en ai pas fini...

    Merci d'avance, et excusez moi si j'ai raté quelque chose.

  2. #2
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Salut,

    Je ne saisie pas très bien ta question si tu veut juste assigner une valeur à un tableau c'est T("index") = "valeur".

    Mais je crois que ton problème c'est de récupérer une valeur de la réponse web, faudra déjà savoir que tes données sont retourné au format JSON(JavaScript Objet Notation).
    Concernant la manipulation dans une application .net je suis pas très situé, l'unique fois ou j'ai eu a manipulé des données JSON je les ai sérialisé en XML pour les traiter par la suite. Sinon y'a la bibliothèque JSON.net qui permet de manipuler avec souplesse des données JSON dans une application .net
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Merci pour ta réponse. Je suis allé télécharger la dll Json et grâce à quelques recherches dans Visual Basic 2010 Express, j'ai réussi à avoir un résultat sous forme de liste comme celle-ci :


    Voici le code que j'ai trouvé pour le résultat de l'image ci-dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Imports System.Net
    Imports System.IO
    Imports System.Text
     
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim requete As HttpWebRequest = HttpWebRequest.Create("http://api.bfbcs.com/api/pc?players=Sp4s12&fields=kits")
            Dim reponse As HttpWebResponse = requete.GetResponse()
            Dim receiveStream As Stream = reponse.GetResponseStream()
            Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)
            Dim lecture = readStream.ReadToEnd
            Dim deserialize = Newtonsoft.Json.JsonConvert.DeserializeObject(lecture)
            RichTextBox1.Text = deserialize
            receiveStream.Close()
            readStream.Close()
        End Sub
    End Class
    Pour l'instant, c'est plutôt convaincant...

    Il ne me reste plus qu'a trouver comment faire pour récupérer chacune de ses valeurs...

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    le split peut etre une technique, sinon les expressions régulières (regex) devraient aller
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Je ne suis pas du tout copain avec les expressions régulières... j'ai tenté de lire certaines choses la-dessus, mais c'est trop mal expliqué. Je ne suis que débutant et c'est trop lourd pour moi...
    Je pense qu'il devrait y avoir un moyen de lire les valeurs directement avec la library que j'ai installé... le truc c'est qu'elle est très mal documentée (du moins pour VB.net)

  6. #6
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Salut,

    Au lieu de deserialiser en objet .net, avec Linq to Json je crois que tu pourras facilement récupérer une valeur dans ton document JSON, faudra creuser de ce coter .

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/09/2014, 14h47
  2. [Fabrique] Quelques Précisions
    Par djflex68 dans le forum Design Patterns
    Réponses: 8
    Dernier message: 20/12/2006, 13h34
  3. Quelques "précisions" sur Struts
    Par Atma_ dans le forum Struts 1
    Réponses: 19
    Dernier message: 03/11/2006, 15h20
  4. xsl:translate - quelques informations svp?!
    Par -ADX- dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/05/2006, 10h42

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