.net core實現WebProxy代理服務器


實現背景

現在業務場景是:有一個A網站和B網站,A網站在內網中,訪問不了外網。B網站在外網,A網站需要拉取B網站的資源,這個時候就需要用到了代理服務器。

什么是代理服務器

代理服務器是介於瀏覽器和Web服務器之間的一台服務器,當你通過代理服務器上網瀏覽時,瀏覽器不是直接到Web服務器去取回網頁,而是向代理服務器發出請求,由代理服務器來取回瀏覽器所需要的信息,並傳送給你的瀏覽器。

代理服務器的作用

1.訪問國外站點 2.訪問一些單位或團體內部資源,可以用於內網和外網連接的橋梁。3.限制訪問,比如說企業可以通過代理服務器控制你在公司網上只能訪問那些網站,那些不能訪問。還可以查看你的網站瀏覽信息 4.提高訪問速度,代理服務器通常設置了一個大的緩存區,當用戶訪問相同的信息時,可以直接由緩存區取出信息 5.隱藏真實ip

Internet Explorer中代理的設置方法

第一步打開IE瀏覽器在設置中選擇“Internet 選項”

按箭頭標志順序一步一步設置

代碼具體實現

                //當前網絡無法訪問該網站
                var url = "https://www.baidu.com/";
                //創建要請求的對象
                var req = (HttpWebRequest)WebRequest.Create(url);
                //創建WebProxy對象 默認創建代理服務器地址ip+端口
                var webPro = new WebProxy("你的代理服務器的ip或者域名", 8080);
                //如果代理服務器需要用戶名和密碼 
                webPro.Credentials = new NetworkCredential("賬號", "密碼");
                req.Proxy = webPro;
                HttpWebResponse response = (HttpWebResponse)req.GetResponse();
                StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
                //讀取返回的內容
                var html = sr.ReadToEnd();
                Console.WriteLine(html);

最后實現效果 控制台會打印出百度的頁面代碼即為成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM