ریستارت کردن مودم (روتر) که به آن ریبوت هم گفته می شود . کد این روش به دو صورت عمل می کند .
1- دسترسی به تنظیمات مودم
2- فراخوانی دستور ریبوت پس از دسترسی
که البته هر دو کار مشکلی است .
قطعه کد زیر هر دو مراحل بالا را انجام می دهد . به طور معمول آدرس دسترسی به مودم 192.168.1.1 بوده و نام کاربری و رمز عبور نیز admin می باشد . با توجه به اطلاعات قبلی مودم خود آن را تغییر دهید .
می توانید درخواست HTTP کاربر را به رابط وب مودم در 192.168.1.1 ارسال کنید. شما می توانید از Fiddler برای دریافت دقیق درخواست وب استفاده کنید ، فقط عناوین مناسب درخواست را ویرایش کنید. Headers [“مجوز”] باید با نام کاربری و رمز ورود مودم شما ارتباط برقرار کند ، معمولاً “Admin” “Admin” است .
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://192.168.1.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.1.1"; request.Headers["Authorization"] = "Basic QWRtaW46QWRtaW4="; request.Headers["Origin"] = @"http://192.168.1.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(); } }
می توانید یک دسترسی میانبر برای کاربر ایجاد کنید تا مستقیما به صفحه تنظیمات مودم برود . روش ساده ای است و بخش کاربردی ندارد .
System.Diagnostics.Process.Start("http://192.168.1.1/");
کدهای بیشتر
سی شارپ مقالات