public ReturnPara GetTextUseHeader(string url, DataFile.ImportantData id) { ReturnPara rp = new ReturnPara(); HttpWebResponse response; HttpWebRequest request; try { request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.UserAgent = DefaultUserAgent; request.Timeout = 5000; request.Referer = "http://" + RouterIP + "/"; CredentialCache cache = new CredentialCache(); cache.Add(new Uri(url), "Basic", new NetworkCredential(id.Router.UserName, id.Router.PassWord)); request.Credentials = cache; response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default); rp.text = reader.ReadToEnd(); reader.Close(); response.Close(); } catch (Exception ex) { rp.text = ex.Message; rp.accessSuccess = false; } return(rp); }
public async Task <bool> Disconnect(DataFile.ImportantData id) { string url = "http://192.168.1.1/userRpm/StatusRpm.htm?Disconnect=断 线&wan=1"; ReturnPara rp = new ReturnPara(); if (this.model == RouterModel.WR740N) { rp = this.GetTextUseHeader(url, id); } else if (this.model == RouterModel.WR703N) { rp = this.GetTextUseCookie(url, id); } if (rp.accessSuccess) { int count = 0; bool setSuccess = false; while (!setSuccess) { count++; setSuccess = !(await IsRouterInPPPoEStatus(id)); if (count == 10) { rp.accessSuccess = false; break; } } } return(rp.accessSuccess); }
public List <string> GetRouterInfo(DataFile.ImportantData id) { List <string> wanInfo = new List <string>(); string url = "http://" + this.RouterIP + "/userRpm/StatusRpm.htm"; ReturnPara rp = new ReturnPara(); if (this.model == RouterModel.WR703N) { rp = this.GetTextUseCookie(url, id); } else if (this.model == RouterModel.WR740N) { rp = this.GetTextUseHeader(url, id); } if (rp.accessSuccess) { Match status_mc = Regex.Match(rp.text, @"var wanPara([\s\S]*?)\);"); string data = status_mc.Groups[1].Value.Substring(status_mc.Groups[1].Value.IndexOf('(') + 1); MatchCollection info_mc = Regex.Matches(data, @"""([\s\S]*?)"""); for (int i = 0; i < info_mc.Count - 2; i++) { wanInfo.Add(info_mc[i].Groups[1].Value); } } return(wanInfo); }
public static ReturnPara Get(string url, bool isNotice) { ReturnPara rp = new ReturnPara(); HttpWebResponse response; HttpWebRequest request; try { request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.UserAgent = DefaultUserAgent; request.Timeout = 5000; response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); rp.text = reader.ReadToEnd(); reader.Close(); response.Close(); } catch (Exception ex) { if (isNotice) { MessageShow.Display(ex.ToString(), "错误"); } rp.accessSuccess = false; } return(rp); }
public async Task <bool> PPPoE(string ip, DataFile.ImportantData id) { ReturnPara rp = new ReturnPara(); string username = id.EXin.UserName; string password = id.EXin.PassWord; username = Algorithm.Encryption(Encoding.ASCII.GetBytes(username)); username = username.Substring(0, 21); username = Uri.EscapeDataString(username); string url = "http://" + ip + "/userRpm/PPPoECfgRpm.htm?wan=0&wantype=2&acc=" + username + "&psw=" + password + "&confirm=" + password + "&specialDial=0&SecType=0&sta_ip=0.0.0.0&sta_mask=0.0.0.0&linktype=1&waittime=15&Save=%B1%A3+%B4%E6"; if (this.model == RouterModel.WR703N) { rp = this.GetTextUseCookie(url, id); } else if (this.model == RouterModel.WR740N) { rp = this.GetTextUseHeader(url, id); } if (rp.accessSuccess) { int count = 0; bool setSuccess = false; while (!setSuccess) { count++; setSuccess = await IsRouterInPPPoEStatus(id); if (count == 100) { rp.accessSuccess = false; break; } } } return(rp.accessSuccess); }
public ReturnPara GetTextUseCookie(string url, DataFile.ImportantData id) { HttpWebResponse response; HttpWebRequest request; ReturnPara rp = new ReturnPara(); string authorization_str = id.Router.UserName + ":" + id.Router.PassWord; string encrypted_Str = Convert.ToBase64String(Encoding.UTF8.GetBytes(authorization_str)); CookieContainer co = new CookieContainer(); CookieCollection cc = new CookieCollection(); cc.Add(new Cookie("Authorization", encrypted_Str, "/", ".192.168.1.1")); cc.Add(new Cookie("subType", "pcSub", "/", ".192.168.1.1")); cc.Add(new Cookie("ChgPwdSubTag", "", "/", ".192.168.1.1")); cc.Add(new Cookie("tLargeScreenP", "1", "/", ".192.168.1.1")); co.Add(cc); try { request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.UserAgent = DefaultUserAgent; request.Timeout = 5000; request.CookieContainer = co; request.Referer = "http://192.168.1.1"; response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default); rp.text = reader.ReadToEnd(); reader.Close(); response.Close(); } catch (Exception ex) { rp.accessSuccess = false; rp.text = ex.Message; } return(rp); }