Как разблокировать заблокированный веб-сайт с помощью C #?

StackOverflow https://stackoverflow.com/questions/868054

  •  22-08-2019
  •  | 
  •  

Вопрос

Это код для разблокировки любого веб-сайта из списка, но теперь я хочу разблокировать веб-сайт, который ранее был заблокирован.Как я могу это сделать?

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");
Это было полезно?

Решение

Это неправильный способ заблокировать веб-сайт, но вот способ «разблокировать» сайт, который «заблокирован» вашим кодом, просто:

  1. прочитать файл хоста
  2. найти URL сайта по регулярному выражению
  3. удалить строку
  4. сохраните файл.

Другие советы

Вы можете использовать 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)));

Просто замените файл хостов на оригинальный.

Если вам нужен оригинальный файл хостов, я могу вам его отправить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top