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/nDACw84amFQAAK0krAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADC5NLq9wEA6FGSVnsAACyRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQ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rQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBC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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. 关于 ssh 连接较慢的解决办法

    1. 概述 使用 ssh 软件连接 linux 时, 会碰到很慢的情况 2. 场景 概述 ssh 连接很慢 大概步骤 使用 xshell6 免费版, 连接 主机 一个小等待, 弹出 用户名 输入框 输 ...

  2. JavaWeb——库存管理系统(2).java部分---18.12.13

    DBUtil.java package com.hjf.util; import java.sql.Connection;import java.sql.DriverManager;import ja ...

  3. spring源码-bean之增强初始化-3

    一.ApplicationContext的中文意思是“应用上下文”,它继承自BeanFactory接口,除了包含BeanFactory的所有功能之外,在国际化支持.资源访问(如URL和文件).事件传播 ...

  4. Updating Homebrew... 长时间不动解决方法

    确保你已安装Homebrew 依次输入下面的命令(注意:不要管重置部分的命令,这里原作者贴出来.我也贴出来是以防需要重置的时候有参考操作命令) 替换brew.git: cd "$(brew ...

  5. Mac brew安装redis

    1.安装redis $ brew install redis Error:Failed to download resource "reds"  // 下载reds失败 不过不需要 ...

  6. create-react-app react-redux项目 配置模块热更新hmr

    HRM并不是create-react-app专属的,提供一篇博客介绍hrm http://chrisshepherd.me/posts/adding-hot-module-reloading-to-c ...

  7. Selenium自动化测试第一天(下)

    如有任何学习问题,可以添加作者微信:lockingfree 目录 Selenium自动化测试基础 Selenium自动化测试第一天(上) Selenium自动化测试第一天(下) Selenium自动化 ...

  8. JMeter自学笔记3-创建自己的第一个测试用例

    一.写在前面的话: 上篇我们已经认识了JMeter的图形界面,大家应该都是很懵的.那么这篇,我们将学习使用JMeter创建第一个属于自己测试用例. 二.创建自己的第一个测试用例: 1.新建一个Thre ...

  9. 【Extremely Basic Words for Listening】word list

    [Extremely Basic Words for Listening]word list updated continuously recite count: 0 careless exercis ...

  10. C++0x,std::move和std::forward解析

    1.std::move 1.1std::move是如何定义的 template<typename _Tp> constexpr typename std::remove_reference ...