.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