<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_大漠一抹云</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/30644/rss</id><updated>2012-05-09T20:41:08Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/30644/rss"/><entry><id>http://www.cnblogs.com/8586/archive/2012/05/10/2493628.html</id><title type="text">静态页面转化</title><summary type="text">在根目录建立.htaccess内容如下：RewriteEngine OnRewriteBase /RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&amp;page=$2RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&amp;extra=page\%3D$3&amp;page=$2</summary><published>2012-05-09T20:41:00Z</published><updated>2012-05-09T20:41:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2012/05/10/2493628.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2012/05/10/2493628.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; line-height: 22px; background-color: #ffffff; "&gt;在根目录建立.htaccess内容如下：&lt;/span&gt;&lt;br style="font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-align: left; background-color: #ffffff; " /&gt;&lt;code style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-family: 'Courier New', Courier, Monaco, 'Lucida Console', monospace; overflow-x: auto; overflow-y: auto; background-color: #ffffff; line-height: 22px; text-align: left; "&gt;RewriteEngine On&lt;br /&gt;RewriteBase /&lt;br /&gt;RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1&lt;br /&gt;RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&amp;amp;page=$2&lt;br /&gt;RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&amp;amp;extra=page\%3D$3&amp;amp;page=$2&lt;br /&gt;RewriteRule ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2&lt;br /&gt;RewriteRule ^space-(username|uid)-(.+).html$ space.php?$1=$2&lt;br /&gt;RewriteRule ^tag-(.+)\.html$ tag.php?name=$1&lt;/code&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2493628.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2012/05/10/2493628.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2012/05/06/2486669.html</id><title type="text">删除_svn文件夹</title><summary type="text">保存为.reg文件WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]@="DeleteSVNFolders"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]@="cmd.exe/c\"TITLERemovingSVNFoldersin%1&amp;&amp;COLOR9A&amp;&amp;FOR/r\"%1\"%%</summary><published>2012-05-06T14:19:00Z</published><updated>2012-05-06T14:19:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2012/05/06/2486669.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2012/05/06/2486669.html"/><content type="html">&lt;div&gt;&lt;div&gt;保存为.reg文件&amp;nbsp;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;Windows&amp;nbsp;Registry&amp;nbsp;Editor&amp;nbsp;Version&amp;nbsp;&lt;span style="color: #800080;"&gt;5.00&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]&amp;nbsp;&lt;br /&gt;@=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Delete&amp;nbsp;SVN&amp;nbsp;Folders&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]&amp;nbsp;&lt;br /&gt;@=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;cmd.exe&amp;nbsp;/c&amp;nbsp;\"TITLE&amp;nbsp;Removing&amp;nbsp;SVN&amp;nbsp;Folders&amp;nbsp;in&amp;nbsp;%1&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;COLOR&amp;nbsp;9A&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;FOR&amp;nbsp;/r&amp;nbsp;\"%1\"&amp;nbsp;%%f&amp;nbsp;IN&amp;nbsp;(.svn)&amp;nbsp;DO&amp;nbsp;RD&amp;nbsp;/s&amp;nbsp;/q&amp;nbsp;\"%%f\"&amp;nbsp;\"&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2486669.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2012/05/06/2486669.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2012/05/03/2479935.html</id><title type="text">开发相关日志</title><summary type="text">1.ATL2.WTL3.COM4.boost5.protobuf6.xml,json序列化</summary><published>2012-05-02T18:36:00Z</published><updated>2012-05-02T18:36:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2012/05/03/2479935.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2012/05/03/2479935.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Simsun; font-size: 12px; line-height: normal; background-color: #ffffff; "&gt;1.ATL&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: Simsun; font-size: 12px; line-height: normal; background-color: #ffffff; "&gt;2.WTL&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Simsun; font-size: 12px; line-height: normal; background-color: #ffffff; "&gt;3.COM&lt;/span&gt;&lt;/p&gt;&lt;p&gt;4.boost&lt;/p&gt;&lt;p&gt;5.protobuf&lt;/p&gt;&lt;p&gt;6.xml,json序列化&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2479935.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2012/05/03/2479935.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2012/04/02/2429564.html</id><title type="text">WebClient.cs封装</title><summary type="text">using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; using System.Collections; using System.IO; using System.Text.RegularExpressions; using RE = System.Text.RegularExpressions.Regex; using System.Security.Cryptography.X509C...</summary><published>2012-04-01T23:53:00Z</published><updated>2012-04-01T23:53:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2012/04/02/2429564.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2012/04/02/2429564.html"/><content type="html">&lt;div&gt;&lt;ol style="border-bottom-color: #d1d7dc; border-bottom-width: 1px; border-bottom-style: solid; border-left-color: #d1d7dc; border-left-width: 1px; border-left-style: solid; padding-bottom: 2px; line-height: 1.4em; background-color: #ffffff; margin-top: 0px; margin-right: 0px; margin-bottom: 1px; margin-left: 0px; padding-left: 0px; padding-right: 0px; color: #2b91af; font-size: 1em; border-top-color: #d1d7dc; border-top-width: 1px; border-top-style: solid; border-right-color: #d1d7dc; border-right-width: 1px; border-right-style: solid; padding-top: 2px; "&gt; &lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.Collections.Generic;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.Text;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.Net;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.Net.Sockets;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.Collections;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.IO;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.Text.RegularExpressions;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using RE = System.Text.RegularExpressions.Regex;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;using System.Security.Cryptography.X509Certificates;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;/***************************************************************************************************************************************************&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt; * *文件名：HttpProc.cs&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt; * *创建人：kenter&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt; * *日 期：2010.02.23 修改&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt; * *描 述：实现HTTP协议中的GET、POST请求&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt; * *使 用：HttpProc.WebClient client = new HttpProc.WebClient();&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;            client.Encoding = System.Text.Encoding.Default;//默认编码方式，根据需要设置其他类型&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;            client.OpenRead("http://www.baidu.com");//普通get请求&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;            MessageBox.Show(client.RespHtml);//获取返回的网页源代码&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;            client.DownloadFile("http://www.codepub.com/upload/163album.rar",@"C:\163album.rar");//下载文件&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;            client.OpenRead("http://passport.baidu.com/?login","username=zhangsan&amp;amp;password=123456");//提交表单，此处是登录百度的示例&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;            client.UploadFile("http://hiup.baidu.com/zhangsan/upload", @"file1=D:\1.mp3");//上传文件&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;            client.UploadFile("http://hiup.baidu.com/zhangsan/upload", "folder=myfolder&amp;amp;size=4003550",@"file1=D:\1.mp3");//提交含文本域和文件域的表单&lt;/span&gt; &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;&lt;span style="color: #008200"&gt;*****************************************************************************************************************************************************/&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;namespace HttpProc  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;{  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///上传事件委托&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;param name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; delegate &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; WebClientUploadEvent(object sender, HttpProc.UploadEventArgs e);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///下载事件委托&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;param name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; delegate &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; WebClientDownloadEvent(object sender, HttpProc.DownloadEventArgs e);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///上传事件参数&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; struct UploadEventArgs  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///上传数据总大小&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;long&lt;/span&gt; totalBytes;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///已发数据大小&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;long&lt;/span&gt; bytesSent;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///发送进度(0-1)&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt; sendProgress;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///发送速度Bytes/s&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt; sendSpeed;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///下载事件参数&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; struct DownloadEventArgs  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///下载数据总大小&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;long&lt;/span&gt; totalBytes;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///已接收数据大小&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;long&lt;/span&gt; bytesReceived;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///接收数据进度(0-1)&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt; ReceiveProgress;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///当前缓冲区数据&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] receivedBuffer;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///接收速度Bytes/s&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt; receiveSpeed;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///实现向WEB服务器发送和接收数据&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;class&lt;/span&gt; WebClient  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; WebHeaderCollection requestHeaders, responseHeaders;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; TcpClient clientSocket;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; MemoryStream postStream;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; Encoding encoding = Encoding.Default;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;const&lt;/span&gt; string BOUNDARY = &lt;span style="color: blue"&gt;"--HEDAODE--"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;const&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; SEND_BUFFER_SIZE = &lt;span style="color: #c00000"&gt;10245&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;const&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; RECEIVE_BUFFER_SIZE = &lt;span style="color: #c00000"&gt;10245&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; string cookie = &lt;span style="color: blue"&gt;""&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; string respHtml = &lt;span style="color: blue"&gt;""&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; string strRequestHeaders = &lt;span style="color: blue"&gt;""&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; string strResponseHeaders = &lt;span style="color: blue"&gt;""&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; statusCode = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; bool isCanceled = &lt;span style="color: #7f0055; font-weight: bold"&gt;false&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; event WebClientUploadEvent UploadProgressChanged;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; event WebClientDownloadEvent DownloadProgressChanged;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///初始化WebClient类&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; WebClient()  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            responseHeaders = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; WebHeaderCollection();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; WebHeaderCollection();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// 获得字符串中开始和结束字符串中间得值&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;param name="str"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;param name="s"&amp;gt;开始&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;param name="e"&amp;gt;结束&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string gethtmlContent(string str, string s, string e)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            Regex rg = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; Regex(&lt;span style="color: blue"&gt;"(?&amp;lt;=("&lt;/span&gt; + s + &lt;span style="color: blue"&gt;"))[.\\s\\S]*?(?=("&lt;/span&gt; + e + &lt;span style="color: blue"&gt;"))"&lt;/span&gt;, RegexOptions.Multiline | RegexOptions.Singleline);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; rg.Match(str).Value;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// 过滤HTML字符&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;param name="source"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string htmlConvert(string source)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            string result;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//remove line breaks,tabs&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = source.Replace(&lt;span style="color: blue"&gt;"\r"&lt;/span&gt;, &lt;span style="color: blue"&gt;" "&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = result.Replace(&lt;span style="color: blue"&gt;"\n"&lt;/span&gt;, &lt;span style="color: blue"&gt;" "&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = result.Replace(&lt;span style="color: blue"&gt;"\t"&lt;/span&gt;, &lt;span style="color: blue"&gt;" "&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//remove the header&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, &lt;span style="color: blue"&gt;"(&amp;lt;head&amp;gt;).*(&amp;lt;/head&amp;gt;)"&lt;/span&gt;, string.Empty, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;( )*script([^&amp;gt;])*&amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"&amp;lt;script&amp;gt;"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"(&amp;lt;script&amp;gt;).*(&amp;lt;/script&amp;gt;)"&lt;/span&gt;, string.Empty, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//remove all styles&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;( )*style([^&amp;gt;])*&amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"&amp;lt;style&amp;gt;"&lt;/span&gt;, RegexOptions.IgnoreCase); &lt;span style="color: #008200"&gt;//clearing attributes&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, &lt;span style="color: blue"&gt;"(&amp;lt;style&amp;gt;).*(&amp;lt;/style&amp;gt;)"&lt;/span&gt;, string.Empty, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//insert tabs in spaces of &amp;lt;td&amp;gt; tags&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;( )*td([^&amp;gt;])*&amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;" "&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//insert line breaks in places of &amp;lt;br&amp;gt; and &amp;lt;li&amp;gt; tags&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;( )*br( )*&amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"\r"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;( )*li( )*&amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"\r"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//insert line paragraphs in places of &amp;lt;tr&amp;gt; and &amp;lt;p&amp;gt; tags&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;( )*tr([^&amp;gt;])*&amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"\r\r"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;( )*p([^&amp;gt;])*&amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"\r\r"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//remove anything thats enclosed inside &amp;lt; &amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;lt;[^&amp;gt;]*&amp;gt;"&lt;/span&gt;, string.Empty, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//replace special characters:&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;amp;amp;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"&amp;amp;"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;amp;nbsp;"&lt;/span&gt;, &lt;span style="color: blue"&gt;" "&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;amp;lt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"&amp;lt;"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;amp;gt;"&lt;/span&gt;, &lt;span style="color: blue"&gt;"&amp;gt;"&lt;/span&gt;, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"&amp;amp;(.{2,6});"&lt;/span&gt;, string.Empty, RegexOptions.IgnoreCase);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//remove extra line breaks and tabs&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;" ( )+"&lt;/span&gt;, &lt;span style="color: blue"&gt;" "&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, &lt;span style="color: blue"&gt;"(\r)( )+(\r)"&lt;/span&gt;, &lt;span style="color: blue"&gt;"\r\r"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            result = Regex.Replace(result, @&lt;span style="color: blue"&gt;"(\r\r)+"&lt;/span&gt;, &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; result;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///读取指定URL的文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求的地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;服务器响应文本&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string OpenRead(string URL)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Connection"&lt;/span&gt;, &lt;span style="color: blue"&gt;"close"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SendRequestData(URL, &lt;span style="color: blue"&gt;"GET"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; GetHtml();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;//解决证书过期无法访问的问题&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;class&lt;/span&gt; CertPolicy : ICertificatePolicy  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; bool CheckValidationResult(ServicePoint srvpt, X509Certificate cert, WebRequest req, &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; certprb)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;true&lt;/span&gt;; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///采用https协议访问网络&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;url地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="strPostdata"&amp;gt;发送的数据&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string OpenReadWithHttps(string URL, string strPostdata)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            ServicePointManager.CertificatePolicy = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; CertPolicy();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            request.CookieContainer = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; CookieContainer();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            request.Method = &lt;span style="color: blue"&gt;"POST"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            request.Accept = &lt;span style="color: blue"&gt;"*/*"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            request.ContentType = &lt;span style="color: blue"&gt;"application/x-www-form-urlencoded"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] buffer = &lt;span style="color: #7f0055; font-weight: bold"&gt;this&lt;/span&gt;.encoding.GetBytes(strPostdata);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            request.ContentLength = buffer.Length;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            request.GetRequestStream().Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            HttpWebResponse response = (HttpWebResponse)request.GetResponse();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            StreamReader reader = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; StreamReader(response.GetResponseStream(), encoding);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;this&lt;/span&gt;.respHtml = reader.ReadToEnd();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            foreach (System.Net.Cookie ck in response.Cookies)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;this&lt;/span&gt;.cookie += ck.Name + &lt;span style="color: blue"&gt;"="&lt;/span&gt; + ck.Value + &lt;span style="color: blue"&gt;";"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            reader.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; respHtml;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///读取指定URL的文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求的地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="postData"&amp;gt;向服务器发送的文本数据&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;服务器响应文本&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string OpenRead(string URL, string postData)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] sendBytes = encoding.GetBytes(postData);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            postStream = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; MemoryStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            postStream.Write(sendBytes, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, sendBytes.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;, postStream.Length.ToString());  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Content-Type"&lt;/span&gt;, &lt;span style="color: blue"&gt;"application/x-www-form-urlencoded"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Connection"&lt;/span&gt;, &lt;span style="color: blue"&gt;"close"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SendRequestData(URL, &lt;span style="color: blue"&gt;"POST"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; GetHtml();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///读取指定URL的流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求的地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="postData"&amp;gt;向服务器发送的数据&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;服务器响应流&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; Stream GetStream(string URL, string postData)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] sendBytes = encoding.GetBytes(postData);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            postStream = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; MemoryStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            postStream.Write(sendBytes, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, sendBytes.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;, postStream.Length.ToString());  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Content-Type"&lt;/span&gt;, &lt;span style="color: blue"&gt;"application/x-www-form-urlencoded"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Connection"&lt;/span&gt;, &lt;span style="color: blue"&gt;"close"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SendRequestData(URL, &lt;span style="color: blue"&gt;"POST"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            MemoryStream ms = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; MemoryStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SaveNetworkStream(ms);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; ms;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///上传文件到服务器&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求的地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="fileField"&amp;gt;文件域(格式如:file1=C:\test.mp3&amp;amp;file2=C:\test.jpg)&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;服务器响应文本&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string UploadFile(string URL, string fileField)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; UploadFile(URL, &lt;span style="color: blue"&gt;""&lt;/span&gt;, fileField);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///上传文件和数据到服务器&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="textField"&amp;gt;文本域(格式为:name1=value1&amp;amp;name2=value2)&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="fileField"&amp;gt;文件域(格式如:file1=C:\test.mp3&amp;amp;file2=C:\test.jpg)&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;服务器响应文本&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string UploadFile(string URL, string textField, string fileField)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            postStream = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; MemoryStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (textField != &lt;span style="color: blue"&gt;""&lt;/span&gt; &amp;amp;&amp;amp; fileField != &lt;span style="color: blue"&gt;""&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                WriteTextField(textField);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                WriteFileField(fileField);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;else&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (fileField != &lt;span style="color: blue"&gt;""&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                WriteFileField(fileField);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;else&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (textField != &lt;span style="color: blue"&gt;""&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                WriteTextField(textField);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;else&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;throw&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; Exception(&lt;span style="color: blue"&gt;"文本域和文件域不能同时为空。"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//写入结束标记&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] buffer = encoding.GetBytes(&lt;span style="color: blue"&gt;"--"&lt;/span&gt; + BOUNDARY + &lt;span style="color: blue"&gt;"--\r\n"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            postStream.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//添加请求标头&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;, postStream.Length.ToString());  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Content-Type"&lt;/span&gt;, &lt;span style="color: blue"&gt;"multipart/form-data; boundary="&lt;/span&gt; + BOUNDARY);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Connection"&lt;/span&gt;, &lt;span style="color: blue"&gt;"Keep-Alive"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//发送请求数据&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SendRequestData(URL, &lt;span style="color: blue"&gt;"POST"&lt;/span&gt;, &lt;span style="color: #7f0055; font-weight: bold"&gt;true&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//返回响应文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; GetHtml();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///分析文本域，添加到请求流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="textField"&amp;gt;文本域&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; WriteTextField(string textField)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            string[] strArr = RE.Split(textField, &lt;span style="color: blue"&gt;"&amp;amp;"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            textField = &lt;span style="color: blue"&gt;""&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            foreach (string var in strArr)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                Match M = RE.Match(var, &lt;span style="color: blue"&gt;"([^=]+)=(.+)"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                textField += &lt;span style="color: blue"&gt;"--"&lt;/span&gt; + BOUNDARY + &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                textField += &lt;span style="color: blue"&gt;"Content-Disposition: form-data; name=\""&lt;/span&gt; + M.Groups[&lt;span style="color: #c00000"&gt;1&lt;/span&gt;].Value + &lt;span style="color: blue"&gt;"\"\r\n\r\n"&lt;/span&gt; + M.Groups[&lt;span style="color: #c00000"&gt;2&lt;/span&gt;].Value + &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] buffer = encoding.GetBytes(textField);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            postStream.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///分析文件域，添加到请求流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="fileField"&amp;gt;文件域&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; WriteFileField(string fileField)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            string filePath = &lt;span style="color: blue"&gt;""&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; count = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            string[] strArr = RE.Split(fileField, &lt;span style="color: blue"&gt;"&amp;amp;"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            foreach (string var in strArr)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                Match M = RE.Match(var, &lt;span style="color: blue"&gt;"([^=]+)=(.+)"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                filePath = M.Groups[&lt;span style="color: #c00000"&gt;2&lt;/span&gt;].Value;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                fileField = &lt;span style="color: blue"&gt;"--"&lt;/span&gt; + BOUNDARY + &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                fileField += &lt;span style="color: blue"&gt;"Content-Disposition: form-data; name=\""&lt;/span&gt; + M.Groups[&lt;span style="color: #c00000"&gt;1&lt;/span&gt;].Value + &lt;span style="color: blue"&gt;"\"; filename=\""&lt;/span&gt; + Path.GetFileName(filePath) + &lt;span style="color: blue"&gt;"\"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                fileField += &lt;span style="color: blue"&gt;"Content-Type: image/jpeg\r\n\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] buffer = encoding.GetBytes(fileField);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                postStream.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//添加文件数据&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                FileStream fs = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; FileStream(filePath, FileMode.Open, FileAccess.Read);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                buffer = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[&lt;span style="color: #c00000"&gt;50000&lt;/span&gt;];  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;do&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    count = fs.Read(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    postStream.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, count);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                } &lt;span style="color: #7f0055; font-weight: bold"&gt;while&lt;/span&gt; (count &amp;gt; &lt;span style="color: #c00000"&gt;0&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                fs.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                fs.Dispose();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                fs = &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                buffer = encoding.GetBytes(&lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                postStream.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///从指定URL下载数据流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;数据流&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; Stream DownloadData(string URL)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Connection"&lt;/span&gt;, &lt;span style="color: blue"&gt;"close"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SendRequestData(URL, &lt;span style="color: blue"&gt;"GET"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            MemoryStream ms = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; MemoryStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SaveNetworkStream(ms, &lt;span style="color: #7f0055; font-weight: bold"&gt;true&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; ms;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///从指定URL下载文件&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;文件URL地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="fileName"&amp;gt;文件保存路径,含文件名(如:C:\test.jpg)&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; DownloadFile(string URL, string fileName)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Connection"&lt;/span&gt;, &lt;span style="color: blue"&gt;"close"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SendRequestData(URL, &lt;span style="color: blue"&gt;"GET"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            FileStream fs = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; FileStream(fileName, FileMode.Create);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SaveNetworkStream(fs, &lt;span style="color: #7f0055; font-weight: bold"&gt;true&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            fs.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            fs = &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///向服务器发送请求&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="method"&amp;gt;POST或GET&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="showProgress"&amp;gt;是否显示上传进度&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; SendRequestData(string URL, string method, bool showProgress)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            clientSocket = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; TcpClient();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            Uri URI = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; Uri(URL);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            clientSocket.Connect(URI.Host, URI.Port);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Host"&lt;/span&gt;, URI.Host);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] request = GetRequestHeaders(method + &lt;span style="color: blue"&gt;" "&lt;/span&gt; + URI.PathAndQuery + &lt;span style="color: blue"&gt;" HTTP/1.1"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            clientSocket.Client.Send(request);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//若有实体内容就发送它&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (postStream != &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] buffer = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[SEND_BUFFER_SIZE];  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; count = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                Stream sm = clientSocket.GetStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                postStream.Position = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                UploadEventArgs e = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; UploadEventArgs();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                e.totalBytes = postStream.Length;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                System.Diagnostics.Stopwatch timer = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; System.Diagnostics.Stopwatch();&lt;span style="color: #008200"&gt;//计时器&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                timer.Start();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;do&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #008200"&gt;//如果取消就推出&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (isCanceled) { &lt;span style="color: #7f0055; font-weight: bold"&gt;break&lt;/span&gt;; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #008200"&gt;//读取要发送的数据&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    count = postStream.Read(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #008200"&gt;//发送到服务器&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    sm.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, count);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #008200"&gt;//是否显示进度&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (showProgress)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #008200"&gt;//触发事件&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        e.bytesSent += count;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        e.sendProgress = (&lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt;)e.bytesSent / (&lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt;)e.totalBytes;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt; t = timer.ElapsedMilliseconds / &lt;span style="color: #c00000"&gt;1000&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        t = t &amp;lt;= &lt;span style="color: #c00000"&gt;0&lt;/span&gt; ? &lt;span style="color: #c00000"&gt;1&lt;/span&gt; : t;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        e.sendSpeed = (&lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt;)e.bytesSent / t;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (UploadProgressChanged != &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;) { UploadProgressChanged(&lt;span style="color: #7f0055; font-weight: bold"&gt;this&lt;/span&gt;, e); }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                } &lt;span style="color: #7f0055; font-weight: bold"&gt;while&lt;/span&gt; (count &amp;gt; &lt;span style="color: #c00000"&gt;0&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                timer.Stop();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                postStream.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//postStream.Dispose();&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                postStream = &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }&lt;span style="color: #008200"&gt;//end if&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///向服务器发送请求&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="URL"&amp;gt;请求URL地址&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="method"&amp;gt;POST或GET&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; SendRequestData(string URL, string method)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SendRequestData(URL, method, &lt;span style="color: #7f0055; font-weight: bold"&gt;false&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取请求头字节数组&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="request"&amp;gt;POST或GET请求&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;请求头字节数组&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] GetRequestHeaders(string request)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Accept"&lt;/span&gt;, &lt;span style="color: blue"&gt;"*/*"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"Accept-Language"&lt;/span&gt;, &lt;span style="color: blue"&gt;"zh-cn"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Add(&lt;span style="color: blue"&gt;"User-Agent"&lt;/span&gt;, &lt;span style="color: blue"&gt;"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            string headers = request + &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            foreach (string key in requestHeaders)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                headers += key + &lt;span style="color: blue"&gt;":"&lt;/span&gt; + requestHeaders[key] + &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//有Cookie就带上Cookie&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (cookie != &lt;span style="color: blue"&gt;""&lt;/span&gt;) { headers += &lt;span style="color: blue"&gt;"Cookie:"&lt;/span&gt; + cookie + &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//空行，请求头结束&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            headers += &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            strRequestHeaders = headers;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            requestHeaders.Clear();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; encoding.GetBytes(headers);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取服务器响应文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;returns&amp;gt;服务器响应文本&amp;lt;/returns&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; string GetHtml()  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            MemoryStream ms = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; MemoryStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SaveNetworkStream(ms);&lt;span style="color: #008200"&gt;//将网络流保存到内存流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            StreamReader sr = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; StreamReader(ms, encoding);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            respHtml = sr.ReadToEnd();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            sr.Close(); ms.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; respHtml;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///将网络流保存到指定流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="toStream"&amp;gt;保存位置&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="needProgress"&amp;gt;是否显示进度&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; SaveNetworkStream(Stream toStream, bool showProgress)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//获取要保存的网络流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            NetworkStream NetStream = clientSocket.GetStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] buffer = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[RECEIVE_BUFFER_SIZE];  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; count = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, startIndex = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            MemoryStream ms = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; MemoryStream();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;for&lt;/span&gt; (&lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; i = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;; i &amp;lt; &lt;span style="color: #c00000"&gt;3&lt;/span&gt;; i++)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                count = NetStream.Read(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, &lt;span style="color: #c00000"&gt;500&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                ms.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, count);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (ms.Length == &lt;span style="color: #c00000"&gt;0&lt;/span&gt;) { NetStream.Close(); &lt;span style="color: #7f0055; font-weight: bold"&gt;throw&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; Exception(&lt;span style="color: blue"&gt;"远程服务器没有响应"&lt;/span&gt;); }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            buffer = ms.GetBuffer();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            count = (&lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt;)ms.Length;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            GetResponseHeader(buffer, out startIndex);&lt;span style="color: #008200"&gt;//分析响应，获取响应头和响应实体&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            count -= startIndex;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            toStream.Write(buffer, startIndex, count);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            DownloadEventArgs e = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; DownloadEventArgs();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (responseHeaders[&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;] != &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            { e.totalBytes = &lt;span style="color: #7f0055; font-weight: bold"&gt;long&lt;/span&gt;.Parse(responseHeaders[&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;]); }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;else&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            { e.totalBytes = -&lt;span style="color: #c00000"&gt;1&lt;/span&gt;; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//启动计时器&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            System.Diagnostics.Stopwatch timer = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; System.Diagnostics.Stopwatch();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            timer.Start();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;do&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//如果取消就推出&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (isCanceled) { &lt;span style="color: #7f0055; font-weight: bold"&gt;break&lt;/span&gt;; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//显示下载进度&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (showProgress)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    e.bytesReceived += count;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    e.ReceiveProgress = (&lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt;)e.bytesReceived / (&lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt;)e.totalBytes;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] tempBuffer = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[count];  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    Array.Copy(buffer, startIndex, tempBuffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, count);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    e.receivedBuffer = tempBuffer;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt; t = (timer.ElapsedMilliseconds + &lt;span style="color: #c00000"&gt;0.1&lt;/span&gt;) / &lt;span style="color: #c00000"&gt;1000&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    e.receiveSpeed = (&lt;span style="color: #7f0055; font-weight: bold"&gt;double&lt;/span&gt;)e.bytesReceived / t;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    startIndex = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (DownloadProgressChanged != &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;) { DownloadProgressChanged(&lt;span style="color: #7f0055; font-weight: bold"&gt;this&lt;/span&gt;, e); }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//读取网路数据到缓冲区&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                count = NetStream.Read(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, buffer.Length);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//将缓存区数据保存到指定流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                toStream.Write(buffer, &lt;span style="color: #c00000"&gt;0&lt;/span&gt;, count);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            } &lt;span style="color: #7f0055; font-weight: bold"&gt;while&lt;/span&gt; (count &amp;gt; &lt;span style="color: #c00000"&gt;0&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            timer.Stop();&lt;span style="color: #008200"&gt;//关闭计时器&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (responseHeaders[&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;] != &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                toStream.SetLength(&lt;span style="color: #7f0055; font-weight: bold"&gt;long&lt;/span&gt;.Parse(responseHeaders[&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;]));  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//else&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//{&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//    toStream.SetLength(toStream.Length);&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//    responseHeaders.Add("Content-Length", toStream.Length.ToString());//添加响应标头&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//}&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            toStream.Position = &lt;span style="color: #c00000"&gt;0&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//关闭网络流和网络连接&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            NetStream.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            clientSocket.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///将网络流保存到指定流&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="toStream"&amp;gt;保存位置&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; SaveNetworkStream(Stream toStream)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            SaveNetworkStream(toStream, &lt;span style="color: #7f0055; font-weight: bold"&gt;false&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///分析响应流，去掉响应头&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;param name="buffer"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; GetResponseHeader(&lt;span style="color: #7f0055; font-weight: bold"&gt;byte&lt;/span&gt;[] buffer, out &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; startIndex)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            responseHeaders.Clear();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            string html = encoding.GetString(buffer);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            StringReader sr = &lt;span style="color: #7f0055; font-weight: bold"&gt;new&lt;/span&gt; StringReader(html);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; start = html.IndexOf(&lt;span style="color: blue"&gt;"\r\n\r\n"&lt;/span&gt;) + &lt;span style="color: #c00000"&gt;4&lt;/span&gt;;&lt;span style="color: #008200"&gt;//找到空行位置&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            strResponseHeaders = html.Substring(&lt;span style="color: #c00000"&gt;0&lt;/span&gt;, start);&lt;span style="color: #008200"&gt;//获取响应头文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//获取响应状态码&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (sr.Peek() &amp;gt; -&lt;span style="color: #c00000"&gt;1&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//读第一行字符串&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                string line = sr.ReadLine();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//分析此行字符串,获取服务器响应状态码&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                Match M = RE.Match(line, @&lt;span style="color: blue"&gt;"\d\d\d"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (M.Success)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    statusCode = &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt;.Parse(M.Value);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//获取响应头&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #7f0055; font-weight: bold"&gt;while&lt;/span&gt; (sr.Peek() &amp;gt; -&lt;span style="color: #c00000"&gt;1&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//读一行字符串&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                string line = sr.ReadLine();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//若非空行&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (line != &lt;span style="color: blue"&gt;""&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #008200"&gt;//分析此行字符串，获取响应标头&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    Match M = RE.Match(line, &lt;span style="color: blue"&gt;"([^:]+):(.+)"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (M.Success)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #7f0055; font-weight: bold"&gt;try&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        {        &lt;span style="color: #008200"&gt;//添加响应标头到集合&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                            responseHeaders.Add(M.Groups[&lt;span style="color: #c00000"&gt;1&lt;/span&gt;].Value.Trim(), M.Groups[&lt;span style="color: #c00000"&gt;2&lt;/span&gt;].Value.Trim());  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #7f0055; font-weight: bold"&gt;catch&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        { }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #008200"&gt;//获取Cookie&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (M.Groups[&lt;span style="color: #c00000"&gt;1&lt;/span&gt;].Value == &lt;span style="color: blue"&gt;"Set-Cookie"&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                            M = RE.Match(M.Groups[&lt;span style="color: #c00000"&gt;2&lt;/span&gt;].Value, &lt;span style="color: blue"&gt;"[^=]+=[^;]+"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                            cookie += M.Value.Trim() + &lt;span style="color: blue"&gt;";"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #008200"&gt;//若是空行，代表响应头结束响应实体开始。（响应头和响应实体间用一空行隔开）&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                &lt;span style="color: #7f0055; font-weight: bold"&gt;else&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #008200"&gt;//如果响应头中没有实体大小标头，尝试读响应实体第一行获取实体大小&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (responseHeaders[&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;] == &lt;span style="color: #7f0055; font-weight: bold"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; sr.Peek() &amp;gt; -&lt;span style="color: #c00000"&gt;1&lt;/span&gt;)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #008200"&gt;//读响应实体第一行&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        line = sr.ReadLine();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #008200"&gt;//分析此行看是否包含实体大小&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        Match M = RE.Match(line, &lt;span style="color: blue"&gt;"~[0-9a-fA-F]{1,15}"&lt;/span&gt;);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        &lt;span style="color: #7f0055; font-weight: bold"&gt;if&lt;/span&gt; (M.Success)  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                            &lt;span style="color: #008200"&gt;//将16进制的实体大小字符串转换为10进制&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                            &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; length = &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt;.Parse(M.Value, System.Globalization.NumberStyles.AllowHexSpecifier);  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                            responseHeaders.Add(&lt;span style="color: blue"&gt;"Content-Length"&lt;/span&gt;, length.ToString());&lt;span style="color: #008200"&gt;//添加响应标头&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                            strResponseHeaders += M.Value + &lt;span style="color: blue"&gt;"\r\n"&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                    &lt;span style="color: #7f0055; font-weight: bold"&gt;break&lt;/span&gt;;&lt;span style="color: #008200"&gt;//跳出循环 &lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;                }&lt;span style="color: #008200"&gt;//End If&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            }&lt;span style="color: #008200"&gt;//End While&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            sr.Close();  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            &lt;span style="color: #008200"&gt;//实体开始索引&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            startIndex = encoding.GetBytes(strResponseHeaders).Length;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///取消上传或下载,要继续开始请调用Start方法&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; Cancel()  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            isCanceled = &lt;span style="color: #7f0055; font-weight: bold"&gt;true&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///启动上传或下载，要取消请调用Cancel方法&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;void&lt;/span&gt; Start()  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            isCanceled = &lt;span style="color: #7f0055; font-weight: bold"&gt;false&lt;/span&gt;;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;//*************************************************************&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;//以下为属性&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;//*************************************************************&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取或设置请求头&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; WebHeaderCollection RequestHeaders  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            set { requestHeaders = value; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; requestHeaders; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取响应头集合&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; WebHeaderCollection ResponseHeaders  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; responseHeaders; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取请求头文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string StrRequestHeaders  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; strRequestHeaders; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取响应头文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string StrResponseHeaders  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; strResponseHeaders; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取或设置Cookie&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string Cookie  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            set { cookie = value; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; cookie; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取或设置编码方式(默认为系统默认编码方式)&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; Encoding Encoding  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            set { encoding = value; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; encoding; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取服务器响应文本&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; string RespHtml  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; respHtml; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;  &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///获取服务器响应状态码&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #008200"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        &lt;span style="color: #7f0055; font-weight: bold"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055; font-weight: bold"&gt;int&lt;/span&gt; StatusCode  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        {  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;            get { &lt;span style="color: #7f0055; font-weight: bold"&gt;return&lt;/span&gt; statusCode; }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;        }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;    }  &lt;/span&gt; &lt;/li&gt;&lt;li style="border-left: #d1d7dc 1px solid; padding-bottom: 0px; line-height: 18px; background-color: #fafafa; margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"&gt;&lt;span style="color: black"&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2429564.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2012/04/02/2429564.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2012/03/19/2406061.html</id><title type="text">symbian 输入控件不显示输入法解决：</title><summary type="text">symbian 输入控件不显示输入法解决：1.保证HandlePointerEventL中调用基类的HandlePointerEventL2.保证作为组合控件 virtual TInt CountComponentControls() const;virtual CCoeControl* ComponentControl(TInt aIndex) const;</summary><published>2012-03-19T06:40:00Z</published><updated>2012-03-19T06:40:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2012/03/19/2406061.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2012/03/19/2406061.html"/><content type="html">&lt;p&gt;symbian 输入控件不显示输入法解决：&lt;/p&gt;&lt;p&gt;1.保证HandlePointerEventL中调用基类的HandlePointerEventL&lt;/p&gt;&lt;p&gt;2.保证作为组合控件&lt;span style="white-space:pre"&gt;&lt;/span&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;virtual TInt CountComponentControls() const;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;virtual CCoeControl* &lt;span style="white-space:pre"&gt;&lt;/span&gt;ComponentControl(TInt aIndex) const;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2406061.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2012/03/19/2406061.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2012/02/03/2337432.html</id><title type="text">V3 V5宏定义</title><summary type="text">在 v5的SDK目录： epoc32\include\variant\symbian_os.hrh文件最后加入：/*** you can use the following macro to determine S60_5th in mmp*/#ifndef S60_5TH#define S60_5TH#endif就可以了。</summary><published>2012-02-03T09:57:00Z</published><updated>2012-02-03T09:57:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2012/02/03/2337432.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2012/02/03/2337432.html"/><content type="html">&lt;div&gt;&lt;div&gt;在 v5的SDK目录： epoc32\include\variant\symbian_os.hrh文件最后&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;加入：&lt;/div&gt;&lt;div&gt;/**&lt;/div&gt;&lt;div&gt;* you can use the following macro to determine S60_5th in mmp&lt;/div&gt;&lt;div&gt;*/&lt;/div&gt;&lt;div&gt;#ifndef S60_5TH&lt;/div&gt;&lt;div&gt;#define S60_5TH&lt;/div&gt;&lt;div&gt;#endif&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;就可以了。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2337432.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2012/02/03/2337432.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2012/02/01/2335206.html</id><title type="text">coco2d-x  重置z轴</title><summary type="text">重置z轴this-&gt;getParent()-&gt;reorderChild(this,this-&gt;getZOrder()-1);</summary><published>2012-02-01T15:17:00Z</published><updated>2012-02-01T15:17:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2012/02/01/2335206.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2012/02/01/2335206.html"/><content type="html">&lt;div&gt;重置z轴&amp;nbsp;&lt;/div&gt;&lt;p&gt;this-&amp;gt;getParent()-&amp;gt;reorderChild(this,this-&amp;gt;getZOrder()-1);&lt;/p&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2335206.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2012/02/01/2335206.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2011/10/24/2222716.html</id><title type="text">htmlcontrol-for-symbian 源码解析</title><summary type="text">正文： ytom哥的HtmlControl是一个开源的轻量级的HTML/CSS解析和渲染的控件，可以轻松支持复杂的界面效果，也可以用来显示Web内容。大家可以从http://code.google.com/p/htmlcontrol-for-symbian/获得，首先感谢ytom哥给大家提供了这么好的一个选择。 本文主要从源代码的角度来分析HtmlControl， 有需要从应用的角度多了解的朋友们可以到前面那个网址看ytom哥的例子。HtmlControl使用方法： 代码中最先与大家接触的就是CHtmlControl啦，它就是我们与此控件交互的接口，使用很简单，就像标准控件一...</summary><published>2011-10-24T07:28:00Z</published><updated>2011-10-24T07:28:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2011/10/24/2222716.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2011/10/24/2222716.html"/><content type="html">&lt;div&gt;&lt;span style="border-collapse: collapse; font-family: 宋体, Tahoma, Helvetica, SimSun, sans-serif, Hei; line-height: 25px; "&gt;正文：&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ytom哥的HtmlControl是一个开源的轻量级的HTML/CSS解析和渲染的控件，可以轻松支持复杂的界面效果，也可以用来显示Web内容。大家可以从&lt;a href="http://code.google.com/p/htmlcontrol-for-symbian/" target="_blank" style="word-wrap: break-word; color: #333333; text-decoration: none; "&gt;http://code.google.com/p/htmlcontrol-for-symbian/&lt;/a&gt;获得，首先感谢ytom哥给大家提供了这么好的一个选择。&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 本文主要从源代码的角度来分析HtmlControl， 有需要从应用的角度多了解的朋友们可以到前面那个网址看ytom哥的例子。&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;HtmlControl使用方法：&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 代码中最先与大家接触的就是CHtmlControl啦，它就是我们与此控件交互的接口，使用很简单，就像标准控件一样创建：&lt;br style="word-wrap: break-word; " /&gt;iControl = CHtmlControl::NewL(NULL);&lt;br style="word-wrap: break-word; " /&gt;iControl-&amp;gt;SetMopParent(this);&lt;br style="word-wrap: break-word; " /&gt;iControl-&amp;gt;SetRect(ClientRect());&lt;br style="word-wrap: break-word; " /&gt;iControl-&amp;gt;SetEventObserver(this);&lt;br style="word-wrap: break-word; " /&gt;iControl-&amp;gt;ActivateL();&lt;br style="word-wrap: break-word; " /&gt;AddToStackL(iControl);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 然后将包含html字符的描述符加入控件并刷新就行了：&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _LIT(KHtml, "&amp;lt;body style='overflow:auto'&amp;gt;&amp;lt;p align='center'&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;font size='large' color='#FF0000'&amp;gt;Hello World!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;font size='20'&amp;gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Hello World!&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;text res='"MAKESTR(R_COMMAND1_TEXT)"'&amp;gt;&amp;lt;br&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;div style='line-height:+30'&amp;gt;Hello World!&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;a href='http://www.abc.com'&amp;gt;Hello World!&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;a href='#abc'&amp;gt;&amp;lt;text res='"MAKESTR(R_COMMAND1_TEXT)"'&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;/p&amp;gt;"&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iControl-&amp;gt;AppendContentL(KHtml);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iControl-&amp;gt;RefreshAndDraw();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 这样就得到了本文第一张图片那样的界面。&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;CHtmlControl的介绍&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CHtmlControl最重要的两个函数就是上面的AppendContentL和RefreshAndDraw，其他的有InsertContentL，在指定位置插入html代码。而Element和ElementByTag则通过元素ID和元素标签两种方法得到元素实例的指针供下一步操作。FocusedElement直接得到处于焦点状态的元素。SetEventObserver通过Symbian Observer模式指定得到htmlcontrol里事件的实例,比如得到EOnClick事件后可以通过aEvent.iElement-&amp;gt;GetProperty(KHStrHref,buf)得到用户点的超链接。&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;解析Html的流程&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CHtmlControl里面包含了CHtmlControlImpl实例的一个指针，实际上几乎所有操作都是通过此指针间接的调用CHtmlControlImpl来操作的，由于使用这种设计隐藏了实现的细节，因此使用此控件的时候会觉得很简单，用作者的话来讲就是&amp;#8220;发布的头文件可以干净很多&amp;#8221;。&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CHtmlControlImpl最重要的三个函数就是InsertContentL、 ParseL、Refresh，前两个与解析html有关，第三个是解析完成后显示阶段使用。按照程序流程，现在先介绍前两个，CHtmlControl里的AppendContentL、InsertContentL实际上是间接的调用这里的InsertContentL，然后在函数内部又调用了ParseL，在ParseL里又继续调用CHtmlParser里的ParseL，在CHtmlParser的ParseL又调用HcUtils里面EnumTag将Html文档解析为一个个的标签，形如：&amp;lt;a &amp;#8230;&amp;gt;&amp;lt;/a&amp;gt;、&amp;lt;br /&amp;gt;，然后在CHtmlParser里调用AppendElementL将完整的标签加入到一个链表里，这个链表完整的串联了所有的从CHtmlElementImpl继承而来的实例，表示各个html元素。现在可以支持的html标签有body、img、a、div、form、input、select、textarea等等，对应的从CHtmlElementImpl继承而来的类是CHtmlElementBody、CHtmlElementImg、CHtmlElementA、CHtmlElementDiv、CHtmlElementForm、CHtmlElementInput、CHtmlElementSelect、CHtmlElementTextArea,而实际上CHtmlElementImpl也是从CHtmlElement继承而来，CHtmlElement保存了一个html元素基本的信息，比如它的Id，标签名等等。&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 下面有个简单的序列图可以参考：&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AppendElementL继续调用HtmlParser里的ParseTag，在ParseTag将循环调用HcUtils里的EnumAttribute，将一个完整的标签分解为一个个的属性，比如：&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "&amp;lt;a href='http://www.abc.com'&amp;gt;Hello World!&amp;lt;/a&amp;gt;"的属性为href值为&lt;a href="http://www.abc.com/" target="_blank" style="word-wrap: break-word; color: #333333; text-decoration: none; "&gt;http://www.abc.com&lt;/a&gt;,创建一个CHtmlElementA并调用它的SetProperty将这些数据保存到CHtmlElementA里，对于不支持的属性将忽略,然后把CHtmlElementA加入到元素队列，用于后面遍历元素，计算各元素的位置并显示。&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 每个元素都有SetProperty和GetProperty，负责把自己支持的属性保存起来，不支持的忽略，比如CHtmlElementA:&lt;br style="word-wrap: break-word; " /&gt;TBool CHtmlElementA::SetProperty(const TDesC&amp;amp; aName, const TDesC&amp;amp; aValue)&lt;br style="word-wrap: break-word; " /&gt;{//先调用基类的，用以处理所有元素的共有属性，比如id、tag、name等等。&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(CHtmlElementImpl::SetProperty(aName, aValue))&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ETrue;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //以下处理不同的元素的不同属性&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(aName.CompareF(KHStrHref)==0)&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {//href&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete iHref;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iHref = aValue.AllocL();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if(aName.CompareF(KHStrTarget)==0)&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {//target&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete iTarget;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iTarget = aValue.AllocL();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if(aName.CompareF(KHStrInnerText)==0)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ClearContent();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(aValue.Length()&amp;gt;0)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CHtmlElementText* sub = new (ELeave)CHtmlElementText(iOwner);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sub-&amp;gt;iParent = iParent;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::PushL(sub);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sub-&amp;gt;PrepareL();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sub-&amp;gt;SetTextL(aValue);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iOwner-&amp;gt;Impl()-&amp;gt;InsertContent(sub, sub, this, EAfterBegin);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::Pop();//sub&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return EFalse;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //对于暂时不支持的属性则忽略&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ETrue;&lt;br style="word-wrap: break-word; " /&gt;}&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;整个循环结束后，html字符解析就基本结束，下面就是要刷新显示了。&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;HtmlControl的刷新和显示&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 使用的时候很简单，只要调用CHtmlControl的RefreshAndDraw就行了，&lt;br style="word-wrap: break-word; " /&gt;void CHtmlControl::RefreshAndDraw()&lt;br style="word-wrap: break-word; " /&gt;{&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Refresh();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Window().Invalidate(Rect());&lt;br style="word-wrap: break-word; " /&gt;}&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 其中，最重要的就是Refresh，它通过自己保存的CHtmlControlImpl实例指针间接的调用了CHtmlControlImpl的Refresh，这个实现可不简单，遍历先前创建的元素队列，对每个元素进行了3个操作，Measure、Layout、Refresh，Measure主要根据解析的结果对元素的风格、大小、位置进行了设置，Layout主要是对div类型的元素进行设置，其他的采用基类的通用的方法设置本元素的坐标位置，部分元素使用Refresh重新计算内部文字的位置等信息。&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 前期准备工作做完后，就可以画出来了，最主要的就是CHtmlControlImpl的Draw，然后通过DrawOffscreen遍历元素列表，调用每个元素的Draw依次画在新创建的CFbsBitGc上，最后再一次性的把CFbsBitGc上的内容画到SystemGc上，核心代码如下：&lt;br style="word-wrap: break-word; " /&gt;void CHtmlControlImpl::DrawOffscreen()&lt;br style="word-wrap: break-word; " /&gt;{&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iOffScreenBitmap-&amp;gt;Gc().CancelClippingRect();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CHtmlElementImpl* current = iBody;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(!current-&amp;gt;iState.IsSet(EElementStateHidden))&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current-&amp;gt;Draw(iOffScreenBitmap-&amp;gt;Gc());&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current = current-&amp;gt;iNext;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while(current &amp;amp;&amp;amp; current!=iBody);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iState.Clear(EHCSNeedRedraw);&lt;br style="word-wrap: break-word; " /&gt;}&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;按键事件处理&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 同系统标准控件一样，按键控件的入口是CHtmlControl的OfferKeyEventL，间接的调用了CHtmlControlImpl的OfferKeyEventL，主要核心处理代码又放在了OfferKeyEventL2中，&lt;br style="word-wrap: break-word; " /&gt;TKeyResponse CHtmlControlImpl::OfferKeyEventL2 (CHtmlElementDiv* aContainer, const TKeyEvent &amp;amp;aKeyEvent, TEventCode aType)&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;{&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(aContainer-&amp;gt;iFocusedElement&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; aContainer-&amp;gt;iFocusedElement-&amp;gt;CanFocus()&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; !aContainer-&amp;gt;iFocusedElement-&amp;gt;iState.IsSet(EElementStateHidden))&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(aContainer-&amp;gt;iFocusedElement-&amp;gt;TypeId()==EElementTypeDiv&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; ((CHtmlElementDiv*)aContainer-&amp;gt;iFocusedElement)-&amp;gt;IsContainer())&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {//如果是容器，将此消息再次发给容器处理&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(OfferKeyEventL2((CHtmlElementDiv*)aContainer-&amp;gt;iFocusedElement, aKeyEvent, aType)==EKeyWasConsumed)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return EKeyWasConsumed;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if((VisibilityTest(aContainer-&amp;gt;iFocusedElement, aContainer-&amp;gt;iDisplayRect)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )如果控件可见，将按键消息发给控件处理&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; aContainer-&amp;gt;iFocusedElement-&amp;gt;OfferKeyEventL(aKeyEvent, aType)==EKeyWasConsumed)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return EKeyWasConsumed;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(aContainer-&amp;gt;iList &amp;amp;&amp;amp; !aContainer-&amp;gt;iList-&amp;gt;IsEmpty())&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return aContainer-&amp;gt;iList-&amp;gt;OfferKeyEventL(aKeyEvent, aType);&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(aType!=EEventKey || aContainer-&amp;gt;iNext==aContainer-&amp;gt;iEnd)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return EKeyWasNotConsumed;&lt;br style="word-wrap: break-word; " /&gt;//如果控件未处理该消息&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aContainer-&amp;gt;iState.Clear(EElementStateFocusChanged);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt keyCode = HcUtils::TranslateKey(aKeyEvent.iCode);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; switch(keyCode)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {//如果是上下左右方向键，则进行元素焦点的转移和显示内容往上或者往下移动&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case EKeyLeftArrow:&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iState.Set(EHCSNavKeyPrev);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HandleKeyLeft(aContainer);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case EKeyRightArrow:&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iState.Set(EHCSNavKeyNext);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HandleKeyRight(aContainer);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case EKeyUpArrow:&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iState.Set(EHCSNavKeyPrev);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HandleKeyUp(aContainer);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case EKeyDownArrow:&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iState.Set(EHCSNavKeyNext);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HandleKeyDown(aContainer);&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&lt;br style="word-wrap: break-word; " /&gt;}&lt;br style="word-wrap: break-word; " /&gt;列举个按了右方向键的处理：&lt;br style="word-wrap: break-word; " /&gt;void CHtmlControlImpl::HandleKeyRight(CHtmlElementDiv* aContainer, TBool aScrolled)&lt;br style="word-wrap: break-word; " /&gt;{&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CHtmlElementImpl* found = NULL;//找到右边或者下一行第一个可视又可获得焦点的元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UpdateVFEs(aContainer);//首先获得可视可获得焦点的元素集合&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(iVFEs.Count()==0) //如果没有符合要求的元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(!aScrolled &amp;amp;&amp;amp; aContainer-&amp;gt;iScrollbar-&amp;gt;AddStepPos()) //向下滚动视图&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UpdateVFEs(aContainer);//重新检查是否有可视可获得焦点的元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(iVFEs.Count()&amp;gt;0) //如果有那么第一个元素就是目标元素，否则不作处理&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; found = iVFEs[0];&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {//如果有符合要求的元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt index = iVFEs.Find(aContainer-&amp;gt;iFocusedElement);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(index==KErrNotFound) //如果当前没有焦点元素，那么设置第一个就是焦点元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; found = iVFEs[0];&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if(index&amp;lt;iVFEs.Count()-1) //如果现有的焦点元素不是最后一个，那么它的下一个元素就成为即将设置焦点的元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; found = iVFEs[index+1];&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if(!aScrolled &amp;amp;&amp;amp; aContainer-&amp;gt;iScrollbar-&amp;gt;AddStepPos()) //如果现有元素是可视元素集合中的最后一个，那么下面滚动视图重新处理该消息&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HandleKeyRight(aContainer, ETrue);&amp;nbsp;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(found)&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {//如果找到了符合要求的元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt adjustY = aContainer-&amp;gt;iScrollbar-&amp;gt;RealPos() - aContainer-&amp;gt;iScrollbar-&amp;gt;Pos();&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt offset = found-&amp;gt;iPosition.iY + adjustY + found-&amp;gt;iSize.iHeight&amp;nbsp;&amp;nbsp;- aContainer-&amp;gt;iDisplayRect.iBr.iY + 2;&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(offset&amp;gt;0 &amp;amp;&amp;amp; offset&amp;lt;aContainer-&amp;gt;iDisplayRect.Height())&amp;nbsp;&amp;nbsp;//可能需要滚动视图&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aContainer-&amp;gt;iScrollbar-&amp;gt;AddPos(offset);&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aContainer-&amp;gt;FocusChangingTo(found);//设置新焦点元素&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br style="word-wrap: break-word; " /&gt;}&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;至此，本文简单介绍了HtmlControl的大体流程，只需要知道怎么用的朋友只要看第一点就够了，如果现有HtmlControl有不符合使用要求或者需要支持的更多的html标签的情况，则大家可以全部看完，在了解了整个流程后，对自己需要修改的方面再详细阅读源代码，多了解细节方面则可以自己修改HtmlControl以适应自己的需求。&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;HtmlControl值的我们学习和借鉴的是：&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1)将WSD(可写静态数据)放在控件环境CHtmlCtlEnv中，这种方法很巧妙&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2)作者创建了图片池，利用CImageDecoder对各种类型的图片进行解析。&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3)经典的观察者模式的使用&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4)富有层次结构的类设计，如CHtmlControl、CHtmlControlImpl，CHtmlElement &amp;lt;= CHtmlElementImpl &amp;lt;= CHtmlElementA等等&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5)公用属性、代码与各自独有属性、代码的分层设计，比如SetProperty、GetProperty&lt;br style="word-wrap: break-word; " /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6)对不同版本SDK宏的大量运用，一套代码适应不同的SDK&lt;br style="word-wrap: break-word; " /&gt;&lt;br style="word-wrap: break-word; " /&gt;最后再次感谢作者ytom哥给大家带来如此好的开源作品。&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2222716.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2011/10/24/2222716.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2011/09/28/2193742.html</id><title type="text">Jquery引起 img 标签 两次调用Page_load</title><summary type="text">两次调用了Page_Load,网上方法都查了，最后关注到了Jquery，在我的js里有调用$.parser.parse($("#info_user"));经过跟踪调试发现， $("#info_user").append("\ 帐号：&lt;input type='text' id='txtUserId' size='20' class='easyui-validatebox' required='true' validType='length[4,16]&amp;#</summary><published>2011-09-27T20:20:00Z</published><updated>2011-09-27T20:20:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2011/09/28/2193742.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2011/09/28/2193742.html"/><content type="html">&lt;p&gt;两次调用了Page_Load,网上方法都查了，最后关注到了Jquery，在我的js里有调用&lt;/p&gt;&lt;p&gt;&amp;nbsp;$.parser.parse($("#info_user"));&amp;nbsp;&lt;/p&gt;&lt;p&gt;经过跟踪调试发现，&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $("#info_user").append("\&lt;/p&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 帐号：&amp;lt;input type='text' id='txtUserId' size='20' class='easyui-validatebox' required='true' validType='length[4,16]'/&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;\&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 密码：&amp;lt;input type='password' id='txtPwd' size='20' class='easyui-validatebox' required='true' validType='length[6,12]'/&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;\&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 验证码:&amp;lt;input type='text' id='txtCodeImg' size='6' class='easyui-validatebox' required='true'/&amp;gt;\&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;img id='CodeImg' onclick='ReloadCheckCode()' alt=\"看不清楚?\" src='CheckForLoginReg.aspx' /&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;\&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a class='easyui-linkbutton' &amp;nbsp;iconCls='icon-ok' &amp;nbsp;href='javascript:void(0)' onclick='Login()'&amp;gt;登录&amp;lt;/a&amp;gt;\&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a class='easyui-linkbutton' &amp;nbsp;iconCls='icon-add' &amp;nbsp;href='javascript:void(0)' onclick='InitRegist()'&amp;gt;注册&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;\&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ");&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;这里会调用一次，+1，&lt;/p&gt;&lt;p&gt;然后调用 ：&amp;nbsp;$.parser.parse($("#info_user"));&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;这里又会调用一次Page_load&lt;/p&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2193742.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2011/09/28/2193742.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/8586/archive/2011/06/27/2091466.html</id><title type="text">让程序用自定义的菜单-自定义菜单AVKON_VIEW,CBA,MENU_BAR,MENU_PANE</title><summary type="text">//-----------------------------------------------------------------------------//helpmenuavkon//在CHelpView::ConstructL()函数中调用//-----------------------------------------------------------------------------RESOURCEAVKON_VIEWr_help_menu{menubar=r_help_menu_bar;//cba=R_AVKON_SOFTKEYS_OPTIONS_EXIT;//自定义C</summary><published>2011-06-27T08:19:00Z</published><updated>2011-06-27T08:19:00Z</updated><author><name>浪端之渡鸟</name><uri>http://www.cnblogs.com/8586/</uri></author><link rel="alternate" href="http://www.cnblogs.com/8586/archive/2011/06/27/2091466.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/8586/archive/2011/06/27/2091466.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: verdana, sans-serif; line-height: 31px; "&gt;&lt;p&gt;&lt;font class="Apple-style-span" size="2"&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;help&amp;nbsp;menu&amp;nbsp;avkon&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;在CHelpView::ConstructL()函数中调用&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;-----------------------------------------------------------------------------&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;RESOURCE&amp;nbsp;AVKON_VIEW&amp;nbsp;r_help_menu&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;menubar&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;r_help_menu_bar;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;cba&amp;nbsp;=&amp;nbsp;R_AVKON_SOFTKEYS_OPTIONS_EXIT;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;自定义CBA&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cba&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;r_help_menu_cba;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;定义CBA栏&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;RESOURCE&amp;nbsp;CBA&amp;nbsp;r_help_menu_cba&lt;br /&gt;{&lt;br /&gt;buttons&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AVKON_CBA_BUTTON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EAknSoftkeyOptions;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;qtn_hewb_option;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AVKON_CBA_BUTTON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EExit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;qtn_hewb_exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;定义菜单块&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;RESOURCE&amp;nbsp;MENU_BAR&amp;nbsp;r_help_menu_bar&lt;br /&gt;{&lt;br /&gt;titles&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MENU_TITLE&amp;nbsp;{&amp;nbsp;menu_pane&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;r_help_menu_pane;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;定义菜单面板&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;RESOURCE&amp;nbsp;MENU_PANE&amp;nbsp;&amp;nbsp;r_help_menu_pane&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;items&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;added&amp;nbsp;the&amp;nbsp;new&amp;nbsp;Options&amp;nbsp;menu&amp;nbsp;command&amp;nbsp;here&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MENU_ITEM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EInput;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;qtn_hewb_input;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;cascade&amp;nbsp;=&amp;nbsp;&amp;nbsp;r_potato_menupane;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MENU_ITEM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EHelpTwo;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;qtn_hewb_helptwo;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;定义子菜单的菜单面板&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;RESOURCE&amp;nbsp;MENU_PANE&amp;nbsp;&amp;nbsp;r_potato_menupane&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;items&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;added&amp;nbsp;the&amp;nbsp;new&amp;nbsp;Options&amp;nbsp;menu&amp;nbsp;command&amp;nbsp;here&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MENU_ITEM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EMenuPotato1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;qtn_menu_potato1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MENU_ITEM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EMenuPotato2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;qtn_menu_potato2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;控制菜单的显示与隐藏，由系统调用&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;CListView::DynInitMenuPaneL(TInt&amp;nbsp;aResourceId,&amp;nbsp;CEikMenuPane&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;aMenuPane)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(aResourceId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;!=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;R_LIST_MENU_PANE)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;如果没有记录的情况下，就隐藏EListComeCard,EListCallPerson,EListSendCard&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;iSelectCountNum)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aMenuPane&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SetItemDimmed(EListComeCard,&amp;nbsp;ETrue);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aMenuPane&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SetItemDimmed(EListCallPerson,&amp;nbsp;ETrue);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aMenuPane&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SetItemDimmed(EListSendCard,&amp;nbsp;ETrue);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aMenuPane&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SetItemDimmed(EListComeCard,&amp;nbsp;EFalse);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aMenuPane&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SetItemDimmed(EListCallPerson,&amp;nbsp;EFalse);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aMenuPane&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SetItemDimmed(EListSendCard,&amp;nbsp;EFalse);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/8586/aggbug/2091466.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/8586/archive/2011/06/27/2091466.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
