返回首页
当前位置: Novell迷 > 站长博客 >

C# 实现定时重启路由器

时间:2014-10-29 23:33来源:未知 作者:Novell迷 点击:
C# 实现定时重启路由器 实现原理:用C#写个Console程序 外加Windows的计划任务

公司有一无线路由器,经常过一段时间要抽风一下。无法连接。

Novell迷网站原创内容,未经允许,谢绝转载!

每次都要拿了钥匙去IDF重启。久了,不胜其烦。想想有时候手机急着要用无线突然不能用,何等痛苦。 版权所有,未经Novell迷允许,不得转载!

于是操起C#就想写个工具。

Novell迷网站原创内容,未经允许,谢绝转载!

抓包也免了,很多路由器基本上地址都一样。因为用的内核都一样的吧。菜单界面都大都相同。

本文引用自Novell迷网站

本想用个HttpHelper类写一下的,后来一谷歌,还有人分享过。

本文来自Novell迷网站 http://novell.me

于是拿来直接用了。验证这一块,要加上一个头.注意文中的

内容来自http://novell.me

  1. request.Headers.Add("Authorization:" + "Basic Novell.Me");//授权的请求 

本文引用自http://novell.me

上面Novell.me字符串要替换成你的实际路由器的管理员账号及密码的BASE64加密字符串。比如用户名和密码都为admin即 admin:admin 的BASE64加密字符串为YWRtaW46YWRtaW4=   其它你的具体的密码字符串请自行使用本站介绍过的字符串加密软件进行加密获取得到。

内容来自http://novell.me

  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. using System.Threading.Tasks; 
  6. using System.Net; 
  7. using System.IO; 
  8.  
  9. namespace Reset_Router 
  10.     class Program 
  11.     { 
  12.         static void Main(string[] args) 
  13.         { 
  14.             RestartRouter(); 
  15.         } 
  16.  
  17.         private static void RestartRouter() 
  18.         { 
  19.             HttpWebRequest request = null
  20.             HttpWebResponse response = null
  21.             string gethost = string.Empty; 
  22.             CookieContainer cc = new CookieContainer(); 
  23.             string Cookiesstr = string.Empty; 
  24.             try 
  25.             { 
  26.                 gethost = "http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7"; //路由器重启的地址 
  27.                 request = (HttpWebRequest)WebRequest.Create(gethost); 
  28.                 request.Method = "GET"
  29.                 request.KeepAlive = true
  30.                 request.Headers.Add("Authorization:" + "Basic Novell.me");//授权的请求 
  31.                 request.CookieContainer = cc; 
  32.                 request.AllowAutoRedirect = false
  33.                 response = (HttpWebResponse)request.GetResponse(); 
  34.                 //设置cookie    
  35.                 Cookiesstr = request.CookieContainer.GetCookieHeader(request.RequestUri); //取再次跳转链接    
  36.                 StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312")); 
  37.                 string content = sr.ReadToEnd(); 
  38.                 request.Abort(); 
  39.                 sr.Close(); 
  40.                 response.Close(); 
  41.             } 
  42.             catch (Exception e) 
  43.             { 
  44.                 Console.WriteLine("路由器重启失败!");   
  45.             } 
  46.         } 
  47.  
  48.     } 

内容来自Novell迷网站

这样编译之后,生成的EXE,再使用操作系统自带的计划任务工具进行定时重启路由器即可。 Novell迷网站內容,版权所有

另外如果你的路由器可以刷开源的基于Linux路由OS,那么也是可以自行设置cronjob 进行定时重启的。 Novell迷网站內容,版权所有

转载请注明出处!
本文地址 http://novell.me/master-diary/2014-10-29/cshapr-reset-router-automaticly.html
(责任编辑:Novell迷)
对我有帮助
(1)
100%
没什么帮助
(0)
0%
------分隔线----------------------------
发表评论
验证码:点击我更换图片
赞助商链接