你确定你已经测试,并且是成功的?纯粹扯淡! 你确定第15行代码 new Uri("http://192.168.2.1"), 不是 new Url("http://192.168.2.1"), ?你好认真啊
我觉得用telnet方式去做有可能更容易 现在路由器都支持telnet吧
你确定你已经测试,并且是成功的?纯粹扯淡! 你确定第15行代码 new Uri("http://192.168.2.1"), 不是 new Url("http://192.168.2.1"), ? 你确定你已经测试,并且是成功的?纯粹扯淡! 你确定第15行代码 new Uri("http://192.168.2.1"), 不是 new Url("http://192.168.2.1"), ?你好认真啊纯粹扯淡! 麻烦你把代码拷到vs里面去再喷好不好? 我不测试成功,我敢写这句话?
可否说一下,我使用的是D-link,我在网上查了一些代码,但好像没有用,请问是不是代码不对,谢指导。网上的代码为:
01.public static void RestartRouter(string routerIP, string name, string pwd)
02.{
03. WebClient client = new WebClient();
04. string str = Convert.ToBase64String(Encoding.Default.GetBytes(string.Format("{0}:{1}", name, pwd)));
05. client.Headers["Authorization"] = "Basic " + str;
06. client.DownloadString("http://" + routerIP + "/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7");
07. client.Dispose();
08.}
09.
10.private static void RestartRouter(string userName,string password)
11.{
12. CookieContainer container = new CookieContainer();
13. string requestUriString = "http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7";
14. HttpWebRequest request = (HttpWebRequest) WebRequest.Create(requestUriString);
15. request.Method = "GET";
16. request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0;CIBA)";
17. request.CookieContainer = container;
18. request.KeepAlive = true;
19. request.Accept = "*/*";
20. request.Timeout = 0xbb8;
21. request.PreAuthenticate = true;
22. CredentialCache cache = new CredentialCache();
23. cache.Add(new Uri(requestUriString), "Basic", new NetworkCredential(userName, password));
24. request.Credentials = cache;
25. try
26. {
27. HttpWebResponse response = (HttpWebResponse) request.GetResponse();
28. response.Cookies = container.GetCookies(request.RequestUri);
29. new StreamReader(response.GetResponseStream(), Encoding.Default).Close();
30. response.Close();
31. }
32. catch (Exception exception)
33. {
34. Console.WriteLine(exception.ToString());
35. }
36.}
{
string userName = "admin"; //路由器帐号
CookieContainer webCookieContainer = new CookieContainer();
String url = "http://192.168.2.1/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7"; //这个地址自己去抓取.品牌 不同.发送的参数也不同.
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; qdesk 2.5.1270.201; Windows NT 6.2; Trident/6.0)";
req.CookieContainer = webCookieContainer;
req.KeepAlive = true;
req.Accept = "*/*";
req.PreAuthenticate = true;
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri("http://192.168.2.1"), "Basic", new NetworkCredential(userName, password));//添加Basic认证
req.Credentials = myCache;
string str = "";
try
{
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
resp.Cookies = webCookieContainer.GetCookies(req.RequestUri);
StreamReader sr = new StreamReader(resp.GetResponseStream(), System.Text.Encoding.Default);
str = sr.ReadToEnd();
sr.Close();
resp.Close();
return str;
}
catch(Exception ex)
{
return ex.Message;
}
}
多多使用Fiddler 检测下实际和你自己发送的数据是不是一样的.
无线的.不是tp-link ,迅捷的.
没有D-LINK 路由器.我也不能抓包,你自己抓包看看吧
你确定你已经测试,并且是成功的?纯粹扯淡!
你确定第15行代码 new Uri("http://192.168.2.1"), 不是 new Url("http://192.168.2.1"), ?
如何抓包呢?有没有工具可用?
fiddler,或者浏览器开发者工具,firefox有firebug,谷歌浏览器的开发者工具最好用
你确定你已经测试,并且是成功的?纯粹扯淡!
你确定第15行代码 new Uri("http://192.168.2.1"), 不是 new Url("http://192.168.2.1"), ?你好认真啊
现在路由器都支持telnet吧
你确定你已经测试,并且是成功的?纯粹扯淡!
你确定第15行代码 new Uri("http://192.168.2.1"), 不是 new Url("http://192.168.2.1"), ?
你确定你已经测试,并且是成功的?纯粹扯淡!
你确定第15行代码 new Uri("http://192.168.2.1"), 不是 new Url("http://192.168.2.1"), ?你好认真啊纯粹扯淡!
麻烦你把代码拷到vs里面去再喷好不好?
我不测试成功,我敢写这句话?