Accés à un fichier d'une page web sécurisée.

Signaler
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
-
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
-
Bonjour,

je souhaite développer une petite application (studio 2010 FW:3.5) qui serait en mesure le lire un fichier *.csv (reccueillant les alarmes d'une machine industrielle) stoké sur un carte SD accessible via une page web qui demande un login et un mot de passe.

Cette application devra, sans intervention humaine, lire ce fichier chaque semaine de manière à récolter les alarmes apparues durant la semaine écoulée et les inscrire dans une BDD.

Le lien du fichier est du type:
http:\\159.132.132.124\StorageCard\Alarmes\Alarmes.csv

Le soucis est que cette page web demande un login et un mot de passe. Biensur je suis en connaissance de ces deux paramètres, mais je souhaiterais que l'application puisse les renseigner sans mon intervention pour la rendre autonome.

Je ne sais pas trop par où commencer pour résoudre cette problèmatique.
Auriez-vous une idée?

3 réponses

Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
347
Bonjour,

Il est possible d'automatiser l'utilisation d'internetExplorer ( ça se nomme AUTOMATION).

Voici un exemple de ce qui est réalisable

ma CLASS IE
 ublic Class IEclass

    Public oIe As Object
    Public Doc As Object

    Public Sub New()
        oIe = CreateObject("InternetExplorer.Application")
    End Sub


    Public Sub ieNavigate(ByVal url As String)
        Dim readyState As Integer

        'On lance la navigation vers l'url
        oIe.Navigate(url)

        'On attend que la page soit chargée
        Do Until readyState = 4
            readyState = oIe.ReadyState
        Loop

        'On affiche le navigateur à l'écran
        oIe.visible = True
    End Sub

    Public Sub setInputValueByID(ByVal id As String, ByVal val As String)

'nb: l'ID de l'élément à manipuler s'obtient dans le code source de la page web...

        Dim input As Object
        Doc = oIe.Document

        input = Doc.GetElementById(id)
        input.value = val

    End Sub

    Public Sub quit()
        oIe.quit()
    End Sub

End Class



Utilisation de la class via un bouton par exemple:
Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim x = New IEclass

        x.ieNavigate("http://lmgtfy.com/")
        x.setInputValueByID("search-term", "test")

        'Le reste de ton code..


        'Fermeture du navigateur Internet
        'x.quit()


    End Sub
End Class

Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
347
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Merci Jordan45,

Ca marche pas mal du tout, en effet, les case de "login" et "password" se remplissent correctement, reste (pour ce point) à trouver comment envoyer la commande (simuler le click sur le bouton 'Submit')

Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
347
c'est le même principe que pour les input.
Tu le trouve grace à son id et tu dois avoir une méthode click je crois me souvenir...ou submit
Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
347
Sinon.. jette quand même un oeil à l'autre possibilité que je t'ai donné : HttpWebRequest
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Je vais regarder tout ça, merci encore Jordan45 ;)