在C#中如何统计这两种方法消耗的流量?
要求不调用系统api
[C#] 纯文本查看 复制代码 /// <summary>
/// Get请求
/// </summary>
/// <param name="url">url</param>
/// <returns></returns>
public static string Get(string url, int timeout = 600000)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Accept = "text/html, application/xhtml+xml, */*";
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)";
req.KeepAlive = true;
req.ProtocolVersion = HttpVersion.Version11;
req.Timeout = timeout;
ServicePointManager.Expect100Continue = false;
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream strm = resp.GetResponseStream();
StreamReader sr = new StreamReader(strm, Encoding.UTF8);
message = sr.ReadToEnd();
sr.Close();
strm.Close();
return message;
}
[C#] 纯文本查看 复制代码 namespace System.Net
{
// 摘要:
// 提供向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法。
[ComVisible(true)]
public class WebClient : Component
{
//
// 摘要:
// 将具有指定 URI 的资源下载到本地文件。
//
// 参数:
// address:
// 从中下载数据的 URI。
//
// fileName:
// 要接收数据的本地文件的名称。
//
// 异常:
// System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。 - 或 - filename
// 为 null 或 System.String.Empty。 - 或 - 文件不存在。 - 或 - 下载数据时发生错误。
//
// System.NotSupportedException:
// 该方法已在多个线程上同时调用。
public void DownloadFile(string address, string fileName);
}
} |