WebBrowser1.Navigate mit id und pwd

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    WebBrowser1.Navigate mit id und pwd

    Guten Abend zusammen,

    ich versuche mich in vb.net (2017) und möchte mehrere IoT Geräte täglich abfragen hinsichtlich ihrer Systemzeit, logFiles und Funktion.

    Ich hatte dies bisher mit Excel VBA realisiert und möchte dies nun eleganter mit vb.net lösen.

    Die Abfrage mache ich mit

    VB.NET-Quellcode

    1. Dim myIP As String
    2. myIP = "192.168.1.11"
    3. WebBrowser1.Navigate("http://" & myIP & "/cgi-bin/systime")
    4. '...[vbnet]
    [/vbnet]


    Mein Problem ist nun, dass ich bei jeder 1. Abfrage eines jeden IoT Gerätes den Benutzernamen und das Passwort von Hand eintragen muss. Frage ich das selbe Gerät ein 2. oder weiteres Mal ab, brauche ich das nicht mehr von Hand einzugeben, weil id und pwd quasi dann schon bekannt sind.

    Wirkt auf mich so, als ob im Cache id und pwd gespeichert wird - via Suche im Forum war ich leider nicht fündig geworgen.

    Meine Frage: kann ich per Programm id und pwd schon in den Cache schreiben, so dass bei der Abfrage dies gleich mit übergeben werden kann oder gibt es eine andere Möglichkeit id und pwd mit zu übergeben?

    Viele Grüße,
    2CV

    2CV schrieb:

    Security-Popup
    Das musst du auf jeden Fall parallel (in einem anderen Thread) abwickeln.
    Das ist ein Hick-Hack.
    Ich habe diesbezüglich gute Erfahrungen mit Windows.Automation gemacht.
    Aber auch das ist kein Zuckerschlecken.
    Google mal nach Beispielprogrammen bzgl. IE-Authentication.
    Sowas beispielsweise.

    Wenn du nicht unbedingt den WebBrowser benötigst, kannst du mit HttpWebRequests arbeiten.
    Dort kannst du Credentials mitgeben.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hallo petaod,

    vielen Dank für Deine Antwort. Das wird dann doch eine Nr. zu groß für mich - ich bin kein Experte.

    Das unglückliche an der Sache (für mich) ist, dass dies per Excel vba prima funktioniert. Nur gibt es künftig dort kein excel mehr.

    'in excel vba hatte ich die Devices wie folgt abgefragt:

    Visual Basic-Quellcode

    1. Dim id, pwd As Variant
    2. id = "user"
    3. pwd = "pwd"
    4. Dim myIP As Variant
    5. Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
    6. With xml
    7. .Open "GET", "http://" & myIP & "/cgi-bin/systime", False, id, pwd
    8. .Send
    9. End With
    10. result = xml.responseText
    11. '...


    Das krieg ich irgendwie mit vb.net nicht hin.

    Der webbrowser bietet schon einen guten Komfort. Wenn die Uhrzeiten der IoT Geräte zu weit abweichen, kann ich diese gleich wieder richtig setzen. u.s.w.

    Ich schaue mir nochmals die HttpWebRequests an - vielleicht komm ich damit ein Stück weiter.

    Nochmals besten Dank,
    2CV

    2CV schrieb:

    Das krieg ich irgendwie mit vb.net nicht hin.
    Wo klemmt's?
    Abgesehen dass es Variant nicht gibt, dürfte der Code (zumindest Strict Off) nahezu 1:1 unter VB.Net lauffähig sein.
    Und die Variants waren in VBA schon sehr unsauber und wären auch da besser als Strings deklariert worden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --