2013-06-22 80 views
1

晚上好,攔截網頁請求託管的網絡

我創建了一個無線託管網絡在我的Windows 8筆記本電腦,通過以下2個批處理命令: 「Netsh的WLAN設置hostednetwork模式=允許SSID =測試關鍵= 12345678「 和 」netsh wlan start hostednetwork「

之後,設備(基於Android的手機)能夠成功連接到託管在我的筆記本電腦上的此無線託管網絡。

http://192.168.138.1:1234 

然而,如何將主機(IE我的筆記本電腦)攔截和:我也是在C#中,該設備可以成功地通過使用內置的Web瀏覽器訪問Access創建一個HttpListener端口1234上重定向網頁請求?也就是說,當設備嘗試訪問任何網頁(例如,google.com或facebook.com)時,如何通知我的筆記本上運行的.NET程序,然後通過將該網頁發送到另一個網頁來將設備重定向到該網頁?

我曾嘗試以下:

HttpListener listener = new HttpListener(); 
     listener.Prefixes.Add("http://+:80/"); 
     listener.Start(); 
     Console.WriteLine("Started"); 
     while (true) 
     { 
      var c = listener.GetContext(); 
      Console.WriteLine("Connection"); 
      string response = "<HTML><BODY>My web page.<br></BODY></HTML>"; //Redirects device to this 
      byte[] b = Encoding.UTF8.GetBytes(response); 
      c.Response.ContentLength64 = b.Length; 
      c.Response.OutputStream.Write(b, 0, b.Length); 
      c.Response.OutputStream.Close(); 
     } 

然而,在我的筆記本電腦上運行的程序不拿起任何東西,當我使用設備來訪問任何網頁(例如google.com)。對不起,如果我問了一個重複的問題,我找不到任何地方!

回答

0

您需要設置您自己的DNS服務器才能正常工作。問題在於您的筆記本電腦爲google.com做了DNS查詢,並收到指向Google服務器的IP,而不是您的服務器。

或者,如果只有少數網站要重定向 - 請在您的hosts文件中爲它們添加條目。