aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAx4AAAI7CAIAAADtTtpYAAAgAElEQVR4nO3dX6xlV33Y8f3UJFUqHqJKtFJCK7WKW9I+dIJUgRS1UpMQp20ID3nIU6VCADsOCZA6gSS0+dMCprSQQj0GJ05DbYc5Y2yPjf+N67EHj+3QMtEAIe3QiRucYJsELpKrthkPpw9jX5+1z97r7L3W79yzz7mfj5ase/fde52199n3nO/cGc80pwAACNKcOnXqIgDApj32utdt0eg8BWkFAEzFxmtJWgEAu2PjtSStAIDdsfFaklYAwO7YeC1JKwBgd2y8lqQVALA7Nl5L0goA2LArxshPtfFaklYAwIZNLa3mLxq4fTNpdeHChXMjXbhwoeT5AQC2ytTSqrOiwruqNq3OnTt39uzZCwvOnj17+uQtv3vnNZfHE3dc8/jtP/nobVefnl196hNXPXTXh8+dO1fy/AAAW2VlMA3fM7B7FltqHV0VkFatn0JduHDhzL0f+P2bX/HkPd//v+6/8sl7X/s/7/5H/+OOf/DF2159+vpXPHjLVdIKDrXzN7y+6xes1z6w6YU9cO0VV7z+hvObXgbskGmm1WJRraOr1pNW93zgvx/723/+1K3f/Oo933z29m9+5eZLT91w6cnrHvutV93722+WVnCoTTGtHrj2hVVIK4g02bRa38+r1pVWj37qA5+/5Yr/90c3XfrKzZeeOnrpyesufeldl/7gqlNH/9aJ33yTtIJD7XJabf6HVJe9FFWvf720gmCTTaup/9Tq8ccfX/xT6k888cTpu/7tZ3/rb/zfL73v0pPvu/Sldz3/B1c//7kff/7sD933we+87aNvlFZwqE0vra594OKLy5JWEGmaabUFf9bqkRs+dPpn3/DQO9548u1vvPdtP/HA0V8/def7Hz36Xf/n82+99MWrn//cj188e+XFz7z64mPfc+K67/jE9W+QVnCoDUmr/Z8ldf1m4f4EL/zW4uUceuDaFz986eD94xbm64snaQXxJphW2/F/CD7yjjc89qqXf/ZHX/PYa7/3zr/7V+7+mTedvP26Bz748v/9mR99/uyVz3/mNRcf+zsXH/1rFx95+Sf/9bff+hFpBYfbirTq+aNYCwe8MMENL+6YpNUN1y4d1uq0nseWVhBvamm1HX+v1blz5x58+xt/93Wv+cbxW5/99X931z981Sd/+s33Hb/ujvd8x1dP/r1vPPTKb5x8xd59f3nvnpft3fOyY//q227+8D+XVnCodbbTi0nz4hcX66e9bX+CJJFeDKj9OFp4nP1tL+zU1VbSikOn8xcxnWoeImrPwB8pHcDoPIURaXXP237i1A++6tn/8IEn33rVrd/7ylt/6i2fOva+m975l/7TL7zsN37+2z/6L/7i0Xd82/Vv/9br3/4t//6ab5FWcNjl0qqvby4n0QtF9MIErT5KdrnYu+NLv2/YuSxpxSFyMGkV9Sgbr6UDTas7fubNd736e/7wp6/6/A9//43f/dd/+5qrHrz/9k994n13/c57T9z63jtvec8dN7807j3xcWkFh1ruNwT7wic5pnuCjkO7dpRWsJ02XksHmlbH3vqWG6/4rk9+39+/5ZXf/Z7v/Ks3/uTVdz/46I33/N7l8bFPnb3hrs9+7MR/PfnQw1/4whfOnj0rreBQk1bAeBuvpQNNq0/+m1/96D/5wY/849d+8Id/6P1XXvmff/XXjt3/xDtve/LX7nr6l+985l3Hn37bx//obb/5uXtOPvLMM89c/jcHoy84sD1WplXH15IgklZwCG28lg40rU6fPn3mzJkzZ848/PDDn/70p0+fPv079z3+c5/4w4/9l4sfunf+7tn8LTd8/Z+9/4m7739YWgH5/0Mw88fYW38+XVrBobLxWjrQtDp//vxzzz23t7d35syZp5566vz58x8/8eibrv/i++/683fP5lff+M0fe++z//TnHjpx7ylpBRT+5QsLzSOt4BDaeC0daFpd/odunnvuuTNnzlyOp9+YPfIj737sx37l937kF8/+wM/+t++75swPvPX+O+95SFoBQ/7K0FZetXpHWsEhtPFaOtC0Onv27IULF86fP3/69OnLf1D9trtP/cpHT/3L//jQL334wV/40Ml3fvCBX/7IyfseeMgfYwcACmy8lg4urS7/FGqU1j/nDACw84amFQAAK0krAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADC5NLq9wEA6FGSVnsAACyRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhptXfs+AnDMAxjJ8em32E4jKTV3rHjJ+YA7BxpxUZIK2kFsJtC0mq2u+ovDp2klbQC2E1RaVU/yQTt6nlNgbTaprRqmmbUdmK5zrBdotLq67tIWq2PtHoprZqmmfJ758501cSvc59tXDMccludVk3TZD6tJ63WR1olP7Wa8tvnzqTV3JqBAxGVVl+r0wyzfNTyp8u7FZNW6yOtRqTVZuNmOmlV/4jbmCnbuGY45CaSVi0r86gzuZY/qCSt1kdabUdaTaerQh506zJl6xYMzOPS6s9CNU1TsNvAo4aTVusjrTrSav/XCovbF+W373+8vH/rkNarQOfGxYXlty8+7vIyhm/P6LsOfSfbd15Drs+QeQauNj9P5qRaCwa2S1Ra/WmopmnyXx2ifhnSan2kVTutWm+6i9+lw993++bJTL58VNnjtv5btj2v73E7v9p37mOvT+c+Axc58LH6roOugi018bTKFNLyl0JyapG0Wh9plfsNwZq06vy07E16+mm1+KWCPBrepisXkN8hvx5pBTsmKq2+Gqppms6P97csW9xz+ZAy0mp9pNWBptU8+xtefbYirfZPqjKtRs0zaoUr1yOtYMdEpdWzoZqmyXzat3F/S+f+BaTV+kirg06rlbMN3C2/PV9dQ7aPWlJfBo1Nq7HzDF/hkMftvBS6CrbXlqbV5S2du0V11bPSap2kVUlardze+rnUynToPKpvtyHbK9Mq/3O1zvPtO3DIudfMM+T6DHwupBXsmKi0eiZU0zQrd1i0eNTKY4eTVusjrdp/G3vr3X1gc3S21PIMi98tKyeZ97+vr+yetaZV31IXz3rIzvkrPHye/CI7T3n5SZmnz9r+l/omB6YvKq2eDtU0Tdlu+1sGzpAnrdZHWq3l3xCMeksuSCsCuc6w1bYxrZou+0ct/reStFofaRWfVpmfSwFwYKLS6iuhmqYZu1vr44Ez5Emr9ZFWa/mpFQAbF5VWfxKqaZpRuy3vP3CGPGm1PtJKWgHspmmm1URIq/WRVtIKYDdFpdUf7yJptT7SSloB7CZplSGt1kdaSSuA3RSVVruq/uLQSVpJK4DdFJJWMJa02jt2/IRhGIaxk2PT7zAcRtIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOt9m4CAFLz+XzT78/bSlrt3XTTTW8BAF705S9/WVoVk1YvpNUcAJjP5/O5tKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBC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" alt="" />

private void button1_Click(object sender, EventArgs e)
{
WebClient webclient = new WebClient();
webclient.Proxy = null;
webclient.Encoding = Encoding.UTF8;
richTextBox1.AppendText(webclient.DownloadString(textBox1.Text.Trim()));
webclient.Dispose();
} private void button2_Click(object sender, EventArgs e)
{
WebClient webclient = new WebClient();
webclient.Proxy = null;
webclient.DownloadFile(textBox2.Text, textBox3.Text);
MessageBox.Show("成功!");
webclient.Dispose(); } private void button3_Click(object sender, EventArgs e)
{
WebClient webclient = new WebClient();
webclient.Proxy = null;
webclient.DownloadProgressChanged += webclient_DownloadProgressChanged;
webclient.DownloadDataCompleted += webclient_DownloadDataCompleted;
webclient.DownloadFileAsync(new Uri(textBox2.Text), textBox3.Text);
webclient.Dispose();
} void webclient_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
MessageBox.Show("成功");
} void webclient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}

使用WebClient类对网页下载源码,对文件下载保存及异步下载并报告下载进度的更多相关文章

  1. Hadoop之HDFS原理及文件上传下载源码分析(下)

    上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文 ...

  2. maven 下载 源码和javadoc 命令

    摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容.一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl+ 点击对应的方法即可进入对应的源码部分.但是有些时候很多依赖项并 ...

  3. Android———从GitHub上下载源码的方法【Written By KillerLegend】

    首先声明,本文说的是从GitHub上下载源码而非上传源码! 1:下载tortoisegit,下载地址为: https://code.google.com/p/tortoisegit/wiki/Down ...

  4. 【Maven】Maven下载源码和Javadoc的方法

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  5. maven 下载 源码和javadoc命令

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  6. mvn 下载源码和javadoc

    1. 下载源码,两种: . mvn dependency:sources . mvn eclipse:eclipse -DdownloadSources=true 2. 下载javadoc,两种: . ...

  7. maven编译下载源码

    下载源码 mvn dependency:sources 跳过TEST mvn  -DskipTests

  8. 查看android源码,windows环境下载源码

    查看源码 参考: http://blog.csdn.net/janronehoo/article/details/8560304 步骤: 添加chrome插件 Android SDK Search 进 ...

  9. 上传本地代码到github&&从github下载源码

    最近在玩github,下面简单介绍下githup的使用 将本地代码同步到github. 使用Git GUI同步  1,先下载git,然后安装.右键如图所示. 2,在github里新建一个 reposi ...

随机推荐

  1. Scala学习笔记(四)—— 数组

    定长数组Array 定义定长数组用Array,有如下几种方法: 初始化一个长度为8的定长数组,其所有元素默认值均为0 scala> new Array[Int](8) res0: Array[I ...

  2. 【8086汇编-Day7】关于多个段的程序的实验

    实验一 实验二 实验三 实验四 实验五 实验六 总结 在集成环境下,内存从0770段开始按照段的先后顺序和内容多少分配,并且分配的都是16的倍数 关于实际占用的空间公式的话其实极容易想到(假设有N个字 ...

  3. 成都Uber优步司机奖励政策(2月23日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. leetcode笔记9 Move Zeroes

    题目要求: Given an array nums, write a function to move all 0's to the end of it while maintaining the r ...

  5. 问题:Visual Studio 2017 无法推送到github:The requested URL returned error: 403

    问题: Visual Studio 2017 无法推送到github:The requested URL returned error: 403 原因分析: Visual Studio 2017记录的 ...

  6. 180709-Java实现获取本机Ip的工具类

    180709-Java实现获取本机Ip的工具类 获取本机Ip算是比较常见的一个需求场景了,比如业务报警,可能就会带上出问题的机器IP,方便直接上去看日志定位问题,那么问题来了,如何获取机器IP呢? I ...

  7. hello-jni Android.mk文件简析

    #删除旧变量 LOCAL_PATH := $(call my-dir) #返回当前目录 include $(CLEAR_VARS) #删除旧变量 #设置新变量 LOCAL_MODULE := hell ...

  8. 为什么说session依赖cookie,以及cookie的常用知识

    session的用法 session在Flask中通常用做设置某些页面的权限,比如某些页面必须要登录才可以看到,登录的信息或标志就放到session中.它的使用过程如下: 在整个flask工程的启动文 ...

  9. JAVA基础学习之路(一)基本概念及运算符

    JAVA基础概念: PATH: path属于操作系统的属性,是系统用来搜寻可执行文件的路径 CALSSPATH: java程序解释类文件时加载文件的路径 注释: 单行注释  // 多行注释 /*... ...

  10. 复合词 (Compund Word,UVa 10391)

    题目描述: 题目思路: 用map保存所有单词赋键值1,拆分单词,用map检查是否都为1,即为复合词 #include <iostream> #include <string> ...