2017-09-29 5 views
-1

Je veux savoir si mon routeur Netgear R7000 Nighthawk permet de transmettre un nom d'utilisateur et un mot de passe avec l'URL. J'essaie de me connecter à l'interface utilisateur de l'administrateur localement en utilisant une macro VBA, et généralement, avec les demandes de connexion, je peux simplement me connecter en localisant les éléments de la page Web avec getElement..., mais mon routeur affiche une invite de sécurité Windows pour moi pour entrer mes informations d'identification.Passer le nom d'utilisateur et le mot de passe du routeur via URL ou Bypassing Security Prompt complètement dans VBA

enter image description here

Je ne suis pas au courant d'aucune façon d'automatiser ce programme, il semble donc que ma meilleure méthode est d'essayer de transmettre les informations d'identification via l'URL.

J'ai tenté d'utiliser une URL de couple, tels que:

http://192.168.1.1/?U=<User_Name>&P=<Password> 
http://192.168.1.1/?Username=<UserName>&Password=<Password> 

Je suis d'accord avec soit une méthode VBA de terminer l'invite de sécurité Windows ou de passer mes lettres de créance en tant que chaîne via l'URL. Je suis assez compétent pour créer mon propre code VBA, donc je ne demande à personne de m'écrire un code entier.

+0

votre question n'est pas liée à la programmation. Vous devriez avoir seulement le tag 'router' sur votre question – jsotola

+0

@jsotola Si vous avez pris le temps de lire ma question dans son intégralité, vous auriez vu que je cherche aussi un moyen de contrôler l'invite de sécurité Windows via VBA ou utiliser VBA pour contourner l'invite tout à fait, comme cela a provenu comme un problème VBA. Par conséquent, je cherche une réponse liée à VBA à mon problème lié à VBA, méritant ainsi la balise VBA. –

+0

Vous avez posé cette question: «Je veux savoir si mon routeur Netgear R7000 Nighthawk permet de transmettre un nom d'utilisateur et un mot de passe avec l'URL». question sur l'invite de sécurité Windows est une question distincte qui n'est pas vraiment liée à la première question, car la première concerne l'interface Web du routeur et la seconde concerne les informations d'identification de sécurité Windows. vous devriez vraiment poster deux questions distinctes. – jsotola

Répondre

0

Autant que je aversionSendKeys, cela semble fonctionner pour moi pour le moment.

Option Explicit 

Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

Sub Test() 

    Dim IE As New InternetExplorer, URL As String 

    URL = "http://192.168.1.1" 

    With IE 
     .Visible = True 
     .navigate URL 
     .Top = 0 
     .Left = 0 
     .Height = 1047 
     .Width = 974 
    End With 

    Sleep 1500 

    AppActivate "Windows Security" 
    SendKeys ("{ENTER}") 

End Sub 

En fait, mes lettres de créance sont déjà sauvés la boîte Windows Security. Tout ce que je fais maintenant est SendKeys faire le sale boulot.

0

Je suis d'accord avec vous. Sendkeys est QD. Une alternative est d'écrire un BHO (Browser Helper Object). Vous pouvez exécuter tout en C# dans le BHO ou injecter javascript dans la page. Dans les deux cas, vous devriez regarder la source du formulaire de connexion et identifier de manière unique les champs d'entrée HTML du nom d'utilisateur et du mot de passe via document.getElementById() (best) ou avec document.getElementsByClassName(). Lorsque vous avez les objets, vous pouvez y insérer le nom d'utilisateur et le mot de passe. Google sur BHO et vous allez commencer.