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

jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 18 févr. 2014 à 16:35
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 19 févr. 2014 à 07:49
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 févr. 2014 à 17:24
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

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 févr. 2014 à 17:48
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
18 févr. 2014 à 18:08
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')

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
Modifié par jordane45 le 18/02/2014 à 18:11
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 févr. 2014 à 18:13
Sinon.. jette quand même un oeil à l'autre possibilité que je t'ai donné : HttpWebRequest
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
19 févr. 2014 à 07:49
Je vais regarder tout ça, merci encore Jordan45 ;)
0
Rejoignez-nous