Как разблокировать заблокированный веб-сайт с помощью C #?
Вопрос
Это код для разблокировки любого веб-сайта из списка, но теперь я хочу разблокировать веб-сайт, который ранее был заблокирован.Как я могу это сделать?
String path = @"C:\Windows\System32\drivers\etc\hosts";
StreamWriter sw = new StreamWriter(path, true);
String sitetoblock = "\n 127.0.0.1 http://"+listView1.SelectedItems[0].Text+"";
sw.Write(sitetoblock);
sw.Close();
MessageBox.Show(listView1.SelectedItems[0].Text " blocked");
Решение
Это неправильный способ заблокировать веб-сайт, но вот способ «разблокировать» сайт, который «заблокирован» вашим кодом, просто:
- прочитать файл хоста
- найти URL сайта по регулярному выражению
- удалить строку
- сохраните файл.
Другие советы
Вы можете использовать System.IO.File
's ReadAllLines
& WriteAllLines
функции и просто вычеркните линию, которую хотите удалить
string path = @"C:\Windows\System32\drivers\etc\hosts";
string [] lineArray = System.IO.File.ReadAllLines(path);
List<string> lines = blah.ToList();
string sitetoUNblock = string.Format("127.0.0.1 http://{0}", listView1.SelectedItems[0].Text);
lines.Remove(sitetoUNblock);
System.IO.File.WriteAllLines(path, lines.ToArray());
Код Гольф
string path = @"C:\Windows\System32\drivers\etc\hosts";
string itemText = listView1.SelectedItems[0].Text;
File.WriteAllLines(path, File.ReadAllLines(path).Where(site=>site!=string.Format("127.0.0.1 http://{0}", itemText)));
Просто замените файл хостов на оригинальный.
Если вам нужен оригинальный файл хостов, я могу вам его отправить.
Не связан с StackOverflow