Http Website einloggen - Befehle ausführen (für Router)

Fridulin

Erfahrenes Mitglied
Http Website einloggen - Link ausführen (für Router)

Hallo,

ich habe volgendes Problem, wobei ich hoffe einer von euch könnte mir Helfen. Es geht darum, mein Router verliert öfters mal die Verbindung und da ich nicht jedesmal mich erstmal beim Router einloggen will um dort stundenlang rumzuklicken, daß er die Verbindung aktualisiert bzw. sich noch einmal neu einwählt.
Deshalb möchte ich gerne ein Programm welches dies auf Knopfdruck erledigt. Hat jemand eine Idee wie ich dies ambesten Lösen kann?
Mein Router hat nur ein Webinterface.

Grüße und Vielen Dank im vorraus
 
Zuletzt bearbeitet:
Hi.

Mit der HttpWebRequest Klasse kannst du das realisieren.
Schau dir einfach paar Beispiele an. Ist relativ einfach.

Für das einloggen wirst du die Credentials Eigenschaft benutzen müssen.

Sieht dann in etwa so aus:
Code:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
req.Credentials = new System.Net.NetworkCredential("username", "passwort");

Danach musst nur noch die richtige Seite aufrufen, und die richtigen Parameter als QueryString oder via Post-Methode übergeben. Wird eher letztes sein.
Dazu kannst du mit der Methode GetRequestStream einen Stream holen, und dort schreibst du dann die Parameternamen / Parameterwert Paare rein.

MfG,
Alex
 
Hi, vielen Dank für deine Antwort. Diese hat mir schon sehr geholfen. Ich habe es jetzt geschafft eine Website herunterzuladen und in eine Varible zu packen. Nun ist nur volgendes Problem, wie führe ich jetzt dort einen Link aus? Eigentlich ist es eine POST Routine die ich für den Roter ausführen muß, aber zum Testen ist die Link-Variante sicherlich ersteinmal einfacher.


Grüße und Vielen Dank
 
Du musst einfach nur nochmal einen HttpWebRequest erstellen mit der neuen URL.
Für jeden Link den du folgen willst, sprich für jede Anfrage, einfach einen WebRequest erstellen und ausführen.
 
Du hast Recht so einfach ist dies. Aber wie funktioniert das jetzt mit der Post Routine und ich habe eben noch einmal Probiert meine Routers Webseite auszulesen, dies klappte aber leider nicht. Er konnte sich nicht einloggen.
Code:
HttpHaupt.Credentials = new System.Net.NetworkCredential("benutzer", "pass");
Damit klappt es leider nicht. Ich kann es auch nicht bei Response einfügen, dann sagt er mir ein Fehler.
Code:
(HttpWebResponse)HttpHaupt.GetResponse();
Grüße und vielen Dank

 
Ja habe schon meine Daten angegeben in dem Beispiel. Also ich habe jetzt folgendes verwendet.
Code:
HttpWebRequest HttpHaupt =(HttpWebRequest)WebRequest.Create(http://192.168.1.254);
HttpHaupt.Credentials = new System.Net.NetworkCredential("user", "pass");
HttpWebResponse myHttpWebResponse1 = (HttpWebResponse)HttpHaupt.GetResponse();
MessageBox.Show(HttpHaupt.Headers.ToString());
.... Und dann habe ich natürlich noch den StreamResponse mit Hilfe des StreamReaders in einen Array geschrieben und dann mit while es Eingelesen/Ausgeben.
Nur damit du dir ein Bild davon machen kannst.

Mit dem Post vielen Dank für die Seite, die sehr gut ist. Damit müßte ich das hinbekommen.

Grüße
 
Mh, also wie hast denn nun das mit den Benutzerdaten angegeben? Frage nur weil du "user" und "pass" drinnen stehen hast noch.
Schon klar das du dein Routerpasswort nicht pasten willst, will nur sicher gehen.
Musst die Daten angeben, welche du in den Benutzername/Kennwort Dialog schrieben würedst. Meistens Benutzername leer, und nur ein Passwort.
 
Ne ne, also das habe ich schon natürlich geändert. Wie du schon sagtest username Frei gelassen "" und bei pass natürlich das Passwort.

Grüße
 
Zurück