Windows Hosts For Google, Fire In The Hole!

來源:互聯網
上載者:User

標籤:google   hosts   

!!!驚喜在下面!!!

1、Update Hosts

import java.awt.Desktop;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URI;import java.net.URISyntaxException;import java.net.URL;/** * 更新Hosts檔案 *  * @author MrChu * @version 1.0 * @date 2015年1月16日 * @see www.chuweibiao.com */public class UpdateHosts {/** HTML頁面路徑 */private static final String PAGE_URL = "http://www.360kb.com/kb/2_122.html";/** Hosts檔案路徑 */private static final String HOSTS_PATH = "C:\\Windows\\System32\\drivers\\etc\\hosts";/** Hosts備份檔案路徑 */private static final String HOSTS_BAK_PATH = "C:\\Windows\\System32\\drivers\\etc\\hosts.bak";/** * 根據頁面URL擷取HTML內容 * @param pageUrl * 頁面URL * @return * HTML內容 */public static String getHtmlContent(String pageUrl) {StringBuffer sb = new StringBuffer();BufferedReader in = null;try {URL url = new URL(pageUrl);in = new BufferedReader(new InputStreamReader(url.openStream(), "utf-8"));String temp;while ((temp = in.readLine()) != null) {sb.append(temp);}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {in.close();} catch (IOException e) {e.printStackTrace();}}int begin = sb.indexOf("#google hosts 2015 by 360kb.com");int end = sb.indexOf("#google hosts 2015 end") + 22;return sb.substring(begin, end).toString();    }/** * 轉換HTML內容 * @param pageUrl * 頁面URL * @return * 轉換後的HTML內容 */public static String convertHtmlContent(String pageUrl) {String content = getHtmlContent(pageUrl);content = content.replaceAll("(<br />)+?", "\r\n");content = content.replaceAll("    ", " ");content = content.replaceAll(" ", "");content = content.replaceAll("  ", " ");content = content.replaceAll("</span></p><p><span><span style=\"line-height:22px;\"><span>", "\r\n");content = content.replaceAll("<span> </span>", " ");content = content.replaceAll("</span> ", "");content = content.replaceAll("</span>", "");return content;}/** * 讀取Hosts檔案 * @param filePath * Hosts檔案路徑 * @return * Hosts檔案內容 */public static String readHosts(String filePath) {FileReader fileReader = null;BufferedReader bufferedReader = null;StringBuilder sb = new StringBuilder();try {fileReader = new FileReader(filePath);bufferedReader = new BufferedReader(fileReader);String line = null;while ((line = bufferedReader.readLine()) != null) {sb.append(line).append("\r\n");}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {fileReader.close();bufferedReader.close();} catch (IOException e) {e.printStackTrace();}}return sb.toString();}/** * 更新Hosts檔案 * @param filePath * Hosts檔案路徑 * @param content * Hosts檔案內容 */public static void updateHosts(String filePath, String content) {FileWriter fileWriter = null;BufferedWriter bufferedWriter = null;try {File file = new File(filePath);if (!file.exists()) {file.createNewFile();}fileWriter = new FileWriter(filePath);bufferedWriter = new BufferedWriter(fileWriter);bufferedWriter.write(content);} catch (IOException e) {e.printStackTrace();} finally {try {fileWriter.flush();bufferedWriter.flush();fileWriter.close();bufferedWriter.close();} catch (IOException e) {e.printStackTrace();}}}public static void main(String[] args) {// Hosts檔案備份String hostsContent = "";File file = new File(HOSTS_BAK_PATH);if (file.exists()) {hostsContent = readHosts(HOSTS_BAK_PATH);} else {hostsContent = readHosts(HOSTS_PATH);updateHosts(HOSTS_BAK_PATH , hostsContent);}// Hosts檔案更新String newHostsContent = hostsContent + "\r\n" + convertHtmlContent(PAGE_URL);updateHosts(HOSTS_PATH, newHostsContent);System.out.println("\r\n▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽");System.out.println("\r\n  ▇▆▄▃▂▁Hosts檔案更新成功!▁▂▃▄▆▇\r\n");System.out.println("△△△△△△△△△△△△△△△△△△△△△△△△");// 瀏覽器訪問測試可行性try {            URI uri = new URI("http://www.google.com/");            Desktop.getDesktop().browse(uri);        } catch (URISyntaxException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }}}

2、Restore Hosts

import java.io.File;/** * 還原Hosts檔案 *  * @author MrChu * @version 1.0 * @date 2015年1月16日 * @see www.chuweibiao.com */public class RestoreHosts {/** Hosts檔案路徑 */private static final String HOSTS_PATH = "C:\\Windows\\System32\\drivers\\etc\\hosts";/** Hosts備份檔案路徑 */private static final String HOSTS_BAK_PATH = "C:\\Windows\\System32\\drivers\\etc\\hosts.bak";/** * 還原Hosts檔案 * @return * true:還原成功,false:還原失敗 */public static boolean restoreHosts() {File file = new File(HOSTS_BAK_PATH);if (!file.exists()) {return false;} else {UpdateHosts.updateHosts(HOSTS_PATH, UpdateHosts.readHosts(HOSTS_BAK_PATH));return file.delete();}}public static void main(String[] args) {if (restoreHosts()) {System.out.println("\r\n▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽");System.out.println("\r\n  ▇▆▄▃▂▁Hosts檔案還原成功!▁▂▃▄▆▇\r\n");System.out.println("△△△△△△△△△△△△△△△△△△△△△△△△");} else {System.out.println("\r\n▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽");System.out.println("\r\n  ▇▆▄▃▂▁還原失敗,Hosts備份檔案不存在!▁▂▃▄▆▇\r\n");System.out.println("△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△");}}}

Crossing The Great Wall(史上最簡單無公害翻牆之術......):

http://download.csdn.net/detail/for_china2012/8368737

Windows Hosts For Google, Fire In The Hole!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.