C#中给WebClient添加代理Proxy
效果图:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Windows.Forms; namespace TestProxy
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
} private void btnDownload_Click(object sender, EventArgs e)
{
try
{
Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} private void Start()
{
txtResult.Clear();
var client = new WebClient();
var uri = new Uri(txtUrl.Text.Trim());
client.DownloadStringCompleted += client_DownloadStringCompleted;
client.Encoding = Encoding.UTF8; if (checkBox.Checked)
{
var proxy = CreateProxy();
if (proxy == null) return;
client.Proxy = proxy;
}
client.DownloadStringAsync(uri);
} private void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
txtResult.Text = e.Result;
}
catch (Exception ex)
{
var msg = ex.Message;
if (ex.InnerException != null) msg = ex.InnerException.Message;
MessageBox.Show(msg);
}
} private void checkBox_CheckedChanged(object sender, EventArgs e)
{
gbProxy.Enabled = checkBox.Checked;
} private WebProxy CreateProxy()
{
var host = txtHost.Text.Trim();
if (string.IsNullOrWhiteSpace(host))
{
MessageBox.Show("请输入代理地址");
return null;
}
var port = ;
try
{
port = Convert.ToInt32(txtPort.Text.Trim());
}
catch (Exception)
{
MessageBox.Show("请输入正确的代理端口");
return null;
}
var cre = new NetworkCredential(txtUserName.Text, txtPwd.Text);
var proxy = new WebProxy(txtHost.Text.Trim(), port) {Credentials = cre};
return proxy;
}
}
}
C#中给WebClient添加代理Proxy的更多相关文章
- react 添加代理 proxy
react package.json中proxy的配置如下 "proxy": { "/api/rjwl": { "target": &quo ...
- 代理(Proxy)和反射(Reflection)
前面的话 ES5和ES6致力于为开发者提供JS已有却不可调用的功能.例如在ES5出现以前,JS环境中的对象包含许多不可枚举和不可写的属性,但开发者不能定义自己的不可枚举或不可写属性,于是ES5引入了O ...
- 深度揭秘ES6代理Proxy
最近在博客上看到关于ES6代理的文章都是一些关于如何使用Proxy的例子,很少有说明Proxy原理的文章,要知道只有真正掌握了一项技术的原理,才能够写出精妙绝伦的代码,所以我觉得有必要写一篇关于深刻揭 ...
- Webpack代理proxy配置,解决本地跨域调试问题,同时允许绑定host域名调试
Webpack代理proxy配置,解决本地跨域调试问题,同时允许绑定host域名调试 会撸码的小马 关注 2018.05.29 17:30* 字数 212 阅读 1488评论 0喜欢 2 接到上一章, ...
- docker中使用nginx容器代理其他容器
Nginx is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, ...
- JAVA设计模式-动态代理(Proxy)源码分析
在文章:JAVA设计模式-动态代理(Proxy)示例及说明中,为动态代理设计模式举了一个小小的例子,那么这篇文章就来分析一下源码的实现. 一,Proxy.newProxyInstance方法 @Cal ...
- 漫谈设计模式(一):代理(Proxy)模式与适配器(Adapter)模式对比
1.前言 为什么要将代理模式与适配器模式放在一起来说呢?因为它们有许多的共同点,当然也有一些不同的地方.首先两者都是属于结构型模式.结构型模型是这样定义的: 结构型模式涉及到如何组合类和类以获得更大的 ...
- iOS开发小技巧 - label中的文字添加点击事件
Label中的文字添加点击事件 GitHub地址:https://github.com/lyb5834/YBAttributeTextTapAction 以前老师讲过类似的功能,自己懒得回头看了,找了 ...
- Spring中的cglib动态代理
Spring中的cglib动态代理 cglib:Code Generation library, 基于ASM(java字节码操作码)的高性能代码生成包 被许多AOP框架使用 区别于JDK动态代理,cg ...
随机推荐
- .NET开源工作流RoadFlow-流程运行-菜单配置
经过流程设计和表单设计后,一个流程就设置完成了,下面说说怎么让设计好的流程运行起来吧. 流程和表单设计完成发布后都在应用程序库里,我们只要将流程在角色应用中配置给相应的用户即可让流程选择了. 在系统管 ...
- linux注册服务教程
该说明是项目完成很久之后,整理资料时的偶然发现,当时所操作的linux为中标麒麟,需要对项目进行开机自启,对llinux还不熟悉,找不到linux中的服务自启设置.辗转多次才找到了解决方案.记录以供参 ...
- Filter学习总结,顺便提及点servlet3.0异步filter和异步监听
Filter介绍: Filter在项目中经常可以用到,通常配置在web.xml中.是服务器端的一个组件,对于用户的请求和响应数据进行过滤操作,控制是否让用户访问到对应的web资源.常用于编 ...
- SQL 数据匹配更新
萌新的成长之路! 最近遇到的一个需求是需要将两张关联的表的数据进行匹配(dbo.SystemUser[系统用户表]:dbo.V_Temp[系统权限视图]),即通过匹配用户ID与系统ID(拥有的系统ID ...
- Selenium2学习(四)-- xpath定位
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. ...
- php xml字符串转数组
function xmltoarr($path){//xml字符串转数组 $xmlfile = file_get_contents($path);//提取xml文档中的内容以字符串格式赋给变量 $ob ...
- 在Centos 7上安装Docker
在Centos 7上安装Docker 1.docker介绍 docker是类似于vmware的虚拟化软件,可以开发.容纳.运行应用程序的平台,在容器中安全的隔离运行应用程序. 2.Docker引擎 D ...
- expdp/impdp使用sysdba权限迁移数据
expdp 'userid="/ as sysdba"' directory=DATA_PUMP_DIR full=y logfile=fullexp.log estimate_o ...
- 如何将iso文件安装到VirtualBox里的ubuntu去
我在Window的virtualbox里安装了一个ubuntu: 默认情况下IDE Secondary Master是空的. 方法1:Devices->Insert Guest Addition ...
- 20165322 2017-2018-2《Java程序设计》课程总结
20165322 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:做中学learning by doing个人感想 预备作业 ...