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

VBScript Discussion :

Recuperer contenue page web.


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2015
    Messages : 54
    Points : 29
    Points
    29
    Par défaut Recuperer contenue page web.
    Bonjour
    Je dois récupérer le contenu d'une page web après le chargement de la page terminée et le stocker dans un fichier txt.
    Le seul hic cest que mon adresse http ressemble un peu à ca :
    Http://192.168.13.76:5674<requete1>?XML"1.0".... Bref voilà. J'ai fais un script qui marche très bien pour une page web standard mais pour ça non. Help. Si vous avec un code plus fonctionnel que le mien.
    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par loupi2004 Voir le message
    Bonjour
    Je dois récupérer le contenu d'une page web après le chargement de la page terminée et le stocker dans un fichier txt.
    Le seul hic cest que mon adresse http ressemble un peu à ca :
    Http://192.168.13.76:5674<requete1>?XML"1.0".... Bref voilà. J'ai fais un script qui marche très bien pour une page web standard mais pour ça non. Help. Si vous avec un code plus fonctionnel que le mien.
    Merci d'avance.

    Et c'est quoi votre code ??? postez-le !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2015
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Option Explicit
    Dim Ws,Fso,MaCopie,URL,LogFile
    Set Ws = CreateObject("Wscript.Shell")
    Set Fso = CreateObject("Scripting.FileSystemObject")
    LogFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "txt"
    if Fso.FileExists(LogFile) Then
        Fso.DeleteFile LogFile
    end if
    URL = "http://192.168.1.55:5166/bobyt/Dispatcher?action=synchro&data=<?xml version=\"1.0\" encoding=\"UTF-8\"?><synchro><favori><id>435443534</id></favori><favori_rete><id>6229536</id></favori_rete><database>toto</database></synchro>"
    MaCopie = CopierColler(URL)
    Call WriteLog(MaCopie)
    Ws.Run DblQuote(LogFile)
    '******************************************************************************************************************************************
    Function CopierColler(URL)
        Dim ie
        Set ie = CreateObject("InternetExplorer.Application") 
        ie.Navigate(URL)
        ie.Visible=false
        DO While ie.busy
        Loop
        CopierColler = ie.document.documentElement.innertext 
        ie.Quit 
        Set ie=Nothing
    End Function
    '******************************************************************************************************************************************
    Sub WriteLog(strText)
        Dim fs,ts 
        Const ForAppending = 8
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set ts = fs.OpenTextFile(Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "txt", ForAppending, True)
        ts.WriteLine strText
        ts.Close
    End Sub
    '******************************************************************************************************************************************
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '*************************************************************************************************************************************

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2015
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Des idées ?

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Bonjour,

    oui, c'est dommage d'utiliser IE au lieu d'une requête
    (via ActiveX MSXML2.XMLHttp ou WinHttp.WinHttpRequest.5.1, voir aussi leur propriété responseText) …


    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2015
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Peux tu me faire un exemple ?

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Voir la documentation sur MSDN … Et les exemples partout sur le Web !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        With CreateObject("MSXML2.XMLHTTP")
            .open "GET", URL, False
            .send
            If .status = 200 Then T = .responseText
        End With
    _____________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2015
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Merci à toi pour la réponse.

    Le hic c'est que mon script fonctionne tres bien avec une adresse du type http : //www.***.fr. Mais avec mon adresse bon. J'ai remarqué que sur mon adresse il y a des espace, des points dinterrogation, des balises d'ouverture et de fermeture ainsi que des guillemets. Peut être qu'il supporte pas les caractères spéciaux ??

  9. #9
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Non, c'est que ton adresse n'est pas une page Web mais un fichier texte xml !?

    Dans ce cas, consulter les tutoriels sur le XML … Mais mon exemple suffit pour du texte !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  10. #10
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2004
    Messages : 8
    Points : 20
    Points
    20
    Par défaut
    Le même script proposé par Marc-L écrit autrement.
    Ta requête ne recoit pas un page HTML
    Avec le code (dessus ou dessous), ton fichier texte contient la réponse.

    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
    Dim oXMLHTTP, oStream, sURL, sFile
     
    sURL = "http://club.developpez.com/contacts/"
    sFile = "Test.txt"
     
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
    oXMLHTTP.Open "GET", sURL, False
    oXMLHTTP.Send
     
    If oXMLHTTP.Status = 200 Then
    	Set oStream = CreateObject("ADODB.Stream")
    	oStream.Open
    	oStream.Type = 1
    	oStream.Write oXMLHTTP.responseBody
    	oStream.SaveToFile sFile
    	oStream.Close
    End If

Discussions similaires

  1. Recuperer contenu page distante
    Par karibouk dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/01/2008, 08h46
  2. Lien modifiant contenu page web - Javascript
    Par annekeuss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/03/2007, 18h10
  3. recuperer une page web
    Par Liiscar dans le forum Documents
    Réponses: 1
    Dernier message: 10/01/2007, 18h29
  4. Contenue Page web
    Par kikouu dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 30/07/2006, 17h47
  5. Recuperer une page Web sous Windows
    Par tmanta7 dans le forum Réseau
    Réponses: 7
    Dernier message: 22/05/2006, 23h21

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