如何以编程方式重新启动Netgear调制解调器

本文关键字:重新启动 Netgear 调制解调器 方式 编程 | 更新日期: 2023-09-27 17:50:40

我想从c# windows应用程序对我的NETGEAR DGN2200进行热复位,我的调制解调器是标准的NETGEAR调制解调器/路由器。没有telnet可以吗?

如何以编程方式重新启动Netgear调制解调器

我希望这段代码能解决你的问题,这就是我如何从c#重新启动我的路由器您可以在192.168.0.1处模拟用户对Netgear调制解调器web接口的http请求。你可以使用Fiddler来获得确切的web请求,只需编辑请求的正确标题。注意请求。报头["Authorization"]它应该与你的调制解调器的用户名和密码相关联,它通常是"Admin" "Admin"与netgear,但它可能是由你的互联网服务提供商预先配置的。

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://192.168.0.1/reboot.cgi");
          request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Referer = @"http://192.168.0.1/DIAG_diag.htm";
        request.UserAgent = @"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36";
        request.Accept = @"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
        request.Credentials = new NetworkCredential("Admin", "Admin");
        var requestBody = Encoding.UTF8.GetBytes("Reboot = Reboot");
        request.Host = "192.168.0.1";
        request.Headers["Authorization"] = "Basic QWRtaW46QWRtaW4=";
        request.Headers["Origin"] = @"http://192.168.0.1";
       using (var requestStream = request.GetRequestStream())
       {
           requestStream.Write(requestBody, 0, requestBody.Length);
       }
       string output = string.Empty;
       using (var response = request.GetResponse())
       {
           using (var stream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1252)))
           {
               output = stream.ReadToEnd();
           }
       }