WebClient增强类

using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Net;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
namespace Megaget
{
	public class WebClientEx
	{
		private const int TIMEOUT = 140000;
		public const int BUFFERSIZE = 4096;
		public WebHeaderCollection Headers;
		private HttpWebRequest m_HTTPRequest;
		private HttpWebResponse m_HTTPResponse;
		private CookieContainer m_CookieContainer;
		private AsyncCallback m_ResponseCallback;
		private string m_CompleteFilePath;
		private string m_FinalFilePath;
		private long m_StartPoint;
		private long FileSize;
		private Stream m_ResponseStream;
		private byte[] m_ReceiveBuffer;
		private long m_TotalReaded;
		public long m_SessionReceived;
		private FileStream m_File;
		private MemoryStream m_DataStream;
		private string m_Url;
		private bool m_IsFileDownload;
		private bool m_IsStringDownload;
		private bool m_IsDataDownload;
		private bool m_Cancelled;
		private object m_UserState;
		public double WaitTime;
		public event AsyncCompletedEventHandler DownloadFileCompleted
		{
			[MethodImpl(MethodImplOptions.Synchronized)]
			add
			{
				this.DownloadFileCompleted = (AsyncCompletedEventHandler)Delegate.Combine(this.DownloadFileCompleted, value);
			}
			[MethodImpl(MethodImplOptions.Synchronized)]
			remove
			{
				this.DownloadFileCompleted = (AsyncCompletedEventHandler)Delegate.Remove(this.DownloadFileCompleted, value);
			}
		}
		public event #=qlSvNlmnLrQc9cf_zVOihQwkhUIfhAKouKv_R5mYmdM_SjR0aRvK_At4iGEwVOp09 DownloadProgressChanged
		{
			[MethodImpl(MethodImplOptions.Synchronized)]
			add
			{
				this.DownloadProgressChanged = (#=qlSvNlmnLrQc9cf_zVOihQwkhUIfhAKouKv_R5mYmdM_SjR0aRvK_At4iGEwVOp09)Delegate.Combine(this.DownloadProgressChanged, value);
			}
			[MethodImpl(MethodImplOptions.Synchronized)]
			remove
			{
				this.DownloadProgressChanged = (#=qlSvNlmnLrQc9cf_zVOihQwkhUIfhAKouKv_R5mYmdM_SjR0aRvK_At4iGEwVOp09)Delegate.Remove(this.DownloadProgressChanged, value);
			}
		}
		public event #=qELCIqGuVSdqvx9rE1UX8cO10tHLj1skN6Z9y8qoS$aaItw4Uf7vWaNrZ9QG8f6MF DownloadStringCompleted
		{
			[MethodImpl(MethodImplOptions.Synchronized)]
			add
			{
				this.DownloadStringCompleted = (#=qELCIqGuVSdqvx9rE1UX8cO10tHLj1skN6Z9y8qoS$aaItw4Uf7vWaNrZ9QG8f6MF)Delegate.Combine(this.DownloadStringCompleted, value);
			}
			[MethodImpl(MethodImplOptions.Synchronized)]
			remove
			{
				this.DownloadStringCompleted = (#=qELCIqGuVSdqvx9rE1UX8cO10tHLj1skN6Z9y8qoS$aaItw4Uf7vWaNrZ9QG8f6MF)Delegate.Remove(this.DownloadStringCompleted, value);
			}
		}
		public event #=qlLXHYcOhB$gI0qq7D6JlFctRtGb7$AF0Bo8HdK9Iw4Phgm_jriBjfWH2POZlvENP DownloadDataCompleted
		{
			[MethodImpl(MethodImplOptions.Synchronized)]
			add
			{
				this.DownloadDataCompleted = (#=qlLXHYcOhB$gI0qq7D6JlFctRtGb7$AF0Bo8HdK9Iw4Phgm_jriBjfWH2POZlvENP)Delegate.Combine(this.DownloadDataCompleted, value);
			}
			[MethodImpl(MethodImplOptions.Synchronized)]
			remove
			{
				this.DownloadDataCompleted = (#=qlLXHYcOhB$gI0qq7D6JlFctRtGb7$AF0Bo8HdK9Iw4Phgm_jriBjfWH2POZlvENP)Delegate.Remove(this.DownloadDataCompleted, value);
			}
		}
		public CookieContainer Cookies
		{
			get
			{
				return this.m_CookieContainer;
			}
			set
			{
				this.m_CookieContainer = value;
			}
		}
		public string Url
		{
			get
			{
				if (this.m_HTTPRequest != null)
				{
					return this.m_HTTPRequest.RequestUri.ToString();
				}
				return string.Empty;
			}
		}
		public WebHeaderCollection ResponseHeaders
		{
			get
			{
				if (this.m_HTTPResponse != null)
				{
					return this.m_HTTPResponse.Headers;
				}
				return null;
			}
		}
		public string ResponseLocation
		{
			get
			{
				if (this.m_HTTPResponse != null)
				{
					return this.m_HTTPResponse.ResponseUri.ToString();
				}
				return string.Empty;
			}
		}
		public HttpStatusCode ResponseCode
		{
			get
			{
				if (this.m_HTTPResponse != null)
				{
					return this.m_HTTPResponse.StatusCode;
				}
				return HttpStatusCode.MultipleChoices;
			}
		}
		public WebClientEx()
		{
			this.WaitTime = 0.0;
			this.m_CookieContainer = new CookieContainer();
			this.Headers = new WebHeaderCollection();
			this.m_Cancelled = false;
		}
		public static string WebGet(string url, WebClientEx wc)
		{
			return wc.DownloadString(url);
		}
		public static string WebPost(string url, string data, WebClientEx wc)
		{
			return wc.UploadString(url, data);
		}
		public bool IsContentDisposition()
		{
			return this.m_HTTPResponse != null && this.m_HTTPResponse.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805135)] != null && this.m_HTTPResponse.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805135)].ToLower().Contains(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805153));
		}
		public string GetFileNameFromHeaders()
		{
			if (this.IsContentDisposition())
			{
				string text = Downloader.MatchAndReplace(this.m_HTTPResponse.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805135)], #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805076), #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805094));
				if (text.Length > 0)
				{
					return text;
				}
			}
			string text2 = this.m_HTTPResponse.ResponseUri.ToString();
			return text2.Substring(text2.LastIndexOf('/') + 1);
		}
		private void m_CopyCookies(string url, HttpWebRequest request)
		{
			try
			{
				Uri uri = new Uri(url);
				string text = string.Empty;
				if (uri.Host.Split(new char[]
				{
					'.'
				}).Length == 2)
				{
					text = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851807687) + uri.Host;
				}
				if (text.Length > 0)
				{
					IEnumerator enumerator = this.m_CookieContainer.GetCookies(new Uri(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804760) + text)).GetEnumerator();
					try
					{
						while (enumerator.MoveNext())
						{
							Cookie cookie = (Cookie)enumerator.Current;
							if (cookie.Domain.StartsWith(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851807687)))
							{
								string domain = cookie.Domain.Substring(1);
								this.m_CookieContainer.Add(new Cookie(cookie.Name, cookie.Value, cookie.Path, domain));
							}
						}
					}
					finally
					{
						IDisposable disposable = enumerator as IDisposable;
						if (disposable != null)
						{
							disposable.Dispose();
						}
					}
				}
			}
			catch
			{
			}
			request.CookieContainer = this.m_CookieContainer;
		}
		public bool isOK()
		{
			bool result;
			try
			{
				if (this.m_HTTPResponse.StatusCode > (HttpStatusCode)(-2) && this.m_HTTPResponse.StatusCode < HttpStatusCode.BadRequest)
				{
					result = true;
				}
				else
				{
					result = false;
				}
			}
			catch (object arg_55_0)
			{
				result = false;
			}
			return result;
		}
		public void CancelAsync()
		{
			try
			{
				if (this.m_HTTPRequest != null)
				{
					this.m_Cancelled = true;
					this.m_HTTPRequest.Abort();
				}
			}
			catch (Exception arg_3F_0)
			{
				Exception exception = arg_3F_0;
				if (exception is OutOfMemoryException || exception is StackOverflowException || exception is ThreadAbortException)
				{
					throw;
				}
			}
			catch
			{
			}
		}
		public void AddCookie(string name, string value, string domain)
		{
			try
			{
				this.m_CookieContainer.Add(new Cookie(name, value, #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851807711), domain));
			}
			catch
			{
			}
		}
		public string GetCookieValue(string url, string name)
		{
			string result;
			try
			{
				CookieCollection cookies = this.m_CookieContainer.GetCookies(new Uri(url));
				Cookie cookie = cookies[name];
				if (cookie == null)
				{
					result = string.Empty;
				}
				else
				{
					result = cookie.Value;
				}
			}
			catch
			{
				result = string.Empty;
			}
			return result;
		}
		private string m_DecodeString(byte[] data)
		{
			UTF8Encoding uTF8Encoding = new UTF8Encoding(false, true);
			string result = string.Empty;
			try
			{
				result = uTF8Encoding.GetString(data);
			}
			catch (object arg_3B_0)
			{
				result = Encoding.Default.GetString(data);
			}
			return result;
		}
		public string DownloadString(string url)
		{
			byte[] data = this.DownloadData(url);
			return this.m_DecodeString(data);
		}
		public string DownloadStringNoRedirect(string url)
		{
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.m_CopyCookies(url, this.m_HTTPRequest);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPRequest.AllowAutoRedirect = false;
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			this.m_HTTPResponse = (HttpWebResponse)this.m_HTTPRequest.GetResponse();
			this.m_ResponseStream = this.m_HTTPResponse.GetResponseStream();
			StreamReader streamReader = new StreamReader(this.m_ResponseStream, this.m_GuessDownloadEncoding(this.m_HTTPRequest));
			string result = streamReader.ReadToEnd();
			streamReader.Close();
			this.m_HTTPResponse.Close();
			return result;
		}
		public void OpenUrl(Uri url)
		{
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.m_CopyCookies(url.ToString(), this.m_HTTPRequest);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPResponse = (HttpWebResponse)this.m_HTTPRequest.GetResponse();
		}
		public string ContinueGetHtml(bool cancel)
		{
			string result = string.Empty;
			if (cancel)
			{
				this.m_HTTPResponse.Close();
			}
			else
			{
				result = this.ContinueGetHtml();
			}
			return result;
		}
		public string ContinueGetHtml()
		{
			this.m_ResponseStream = this.m_HTTPResponse.GetResponseStream();
			StreamReader streamReader = new StreamReader(this.m_ResponseStream, this.m_GuessDownloadEncoding(this.m_HTTPRequest));
			string result = streamReader.ReadToEnd();
			streamReader.Close();
			this.m_ResponseStream.Close();
			this.m_ResponseStream = null;
			this.m_HTTPResponse.Close();
			return result;
		}
		private byte[] m_InternalDownloadData()
		{
			this.m_HTTPResponse = (HttpWebResponse)this.m_HTTPRequest.GetResponse();
			this.m_ResponseStream = this.m_HTTPResponse.GetResponseStream();
			MemoryStream memoryStream = new MemoryStream();
			BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
			int num = 0;
			int num2;
			do
			{
				byte[] array = new byte[2048];
				num2 = this.m_ResponseStream.Read(array, 0, array.Length);
				if (num2 > 0)
				{
					binaryWriter.Write(array, 0, num2);
					num += num2;
				}
			}
			while (num2 > 0);
			memoryStream.Seek(0L, SeekOrigin.Begin);
			byte[] array2 = new byte[(int)((object)((IntPtr)memoryStream.Length))];
			memoryStream.Read(array2, 0, (int)memoryStream.Length);
			memoryStream.Close();
			this.m_HTTPResponse.Close();
			this.m_ResponseStream.Close();
			this.m_ResponseStream = null;
			return array2;
		}
		public byte[] DownloadData(string url)
		{
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.m_CopyCookies(url, this.m_HTTPRequest);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			return this.m_InternalDownloadData();
		}
		public string UploadString(string url, string data)
		{
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.m_CopyCookies(url, this.m_HTTPRequest);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804745);
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			this.m_HTTPRequest.ServicePoint.Expect100Continue = false;
			if (this.m_HTTPRequest.Headers[HttpRequestHeader.Referer] == null && this.m_HTTPResponse != null && this.m_HTTPResponse.ResponseUri != null && this.m_HTTPResponse.ResponseUri.ToString().Length > 0)
			{
				this.m_HTTPRequest.Referer = this.m_HTTPResponse.ResponseUri.ToString();
			}
			this.m_HTTPRequest.ContentType = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804798);
			byte[] bytes = Encoding.Default.GetBytes(data);
			Stream requestStream = this.m_HTTPRequest.GetRequestStream();
			requestStream.Write(bytes, 0, bytes.Length);
			requestStream.Close();
			byte[] data2 = this.m_InternalDownloadData();
			return this.m_DecodeString(data2);
		}
		public string GetRedirection(string url)
		{
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_CopyCookies(url, this.m_HTTPRequest);
			this.m_HTTPRequest.AllowAutoRedirect = false;
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			this.m_HTTPResponse = (HttpWebResponse)this.m_HTTPRequest.GetResponse();
			string result = this.m_HTTPResponse.Headers.Get(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804678));
			this.m_HTTPResponse.Close();
			return result;
		}
		public void DownloadFileAsync(string url, long StartPoint, string completeFilePath)
		{
			Uri url2 = new Uri(url);
			this.DownloadFileAsync(url2, StartPoint, completeFilePath);
		}
		public void DownloadFilePostAsync(Uri url, long StartPoint, string completeFilePath, string data)
		{
			this.m_StartPoint = StartPoint;
			this.m_IsFileDownload = true;
			this.m_ReceiveBuffer = new byte[4096];
			this.m_TotalReaded = 0L;
			this.m_SessionReceived = 0L;
			this.m_FinalFilePath = completeFilePath;
			this.m_CompleteFilePath = completeFilePath + #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804683);
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_CopyCookies(url.ToString(), this.m_HTTPRequest);
			if (StartPoint >= 0L && File.Exists(this.m_CompleteFilePath))
			{
				FileInfo fileInfo = new FileInfo(this.m_CompleteFilePath);
				this.m_StartPoint = fileInfo.Length;
			}
			if (this.m_StartPoint > 0L)
			{
				this.m_AddRange(this.m_StartPoint);
			}
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804745);
			this.m_HTTPRequest.ContentType = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804798);
			this.m_HTTPRequest.ServicePoint.Expect100Continue = false;
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			byte[] bytes = Encoding.Default.GetBytes(data);
			Stream requestStream = this.m_HTTPRequest.GetRequestStream();
			requestStream.Write(bytes, 0, bytes.Length);
			requestStream.Close();
			IAsyncResult asyncResult = this.m_HTTPRequest.BeginGetResponse(new AsyncCallback(this.m_OnResponse), null);
			ThreadPool.RegisterWaitForSingleObject(asyncResult.AsyncWaitHandle, new WaitOrTimerCallback(WebClientEx.TimeoutCallback), this.m_HTTPRequest, 140000, true);
		}
		public HttpStatusCode OpenDownloadPost(Uri url, long StartPoint, string completeFilePath, string data)
		{
			this.m_StartPoint = StartPoint;
			this.m_IsFileDownload = true;
			this.m_ReceiveBuffer = new byte[4096];
			this.m_TotalReaded = 0L;
			this.m_SessionReceived = 0L;
			this.m_FinalFilePath = completeFilePath;
			this.m_CompleteFilePath = completeFilePath + #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804683);
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_CopyCookies(url.ToString(), this.m_HTTPRequest);
			if (StartPoint >= 0L && File.Exists(this.m_CompleteFilePath))
			{
				FileInfo fileInfo = new FileInfo(this.m_CompleteFilePath);
				this.m_StartPoint = fileInfo.Length;
			}
			if (this.m_StartPoint > 0L)
			{
				this.m_AddRange(this.m_StartPoint);
			}
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804745);
			this.m_HTTPRequest.ContentType = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804798);
			this.m_HTTPRequest.ServicePoint.Expect100Continue = false;
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			byte[] bytes = Encoding.Default.GetBytes(data);
			Stream requestStream = this.m_HTTPRequest.GetRequestStream();
			requestStream.Write(bytes, 0, bytes.Length);
			requestStream.Close();
			HttpStatusCode statusCode;
			try
			{
				this.m_HTTPResponse = (HttpWebResponse)this.m_HTTPRequest.GetResponse();
			}
			catch (WebException arg_17F_0)
			{
				WebException webException = arg_17F_0;
				this.m_HTTPResponse = (HttpWebResponse)webException.Response;
				if (this.m_HTTPResponse != null)
				{
					statusCode = this.m_HTTPResponse.StatusCode;
					return statusCode;
				}
				this.m_AsyncError(webException);
				throw webException;
			}
			catch (Exception arg_1B7_0)
			{
				Exception exception = arg_1B7_0;
				this.m_AsyncError(exception);
				throw exception;
			}
			return this.m_HTTPResponse.StatusCode;
			return statusCode;
		}
		public void DownloadFileAsync(Uri url, long StartPoint, string completeFilePath)
		{
			this.m_StartPoint = StartPoint;
			this.m_IsFileDownload = true;
			this.m_ReceiveBuffer = new byte[4096];
			this.m_TotalReaded = 0L;
			this.m_SessionReceived = 0L;
			this.m_FinalFilePath = completeFilePath;
			this.m_CompleteFilePath = completeFilePath + #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804683);
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_CopyCookies(url.ToString(), this.m_HTTPRequest);
			if (File.Exists(this.m_CompleteFilePath))
			{
				FileInfo fileInfo = new FileInfo(this.m_CompleteFilePath);
				this.m_StartPoint = fileInfo.Length;
			}
			if (this.m_StartPoint > 0L)
			{
				this.m_AddRange(this.m_StartPoint);
			}
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			this.m_ResponseCallback = new AsyncCallback(this.m_OnResponse);
			IAsyncResult asyncResult = this.m_HTTPRequest.BeginGetResponse(this.m_ResponseCallback, null);
			ThreadPool.RegisterWaitForSingleObject(asyncResult.AsyncWaitHandle, new WaitOrTimerCallback(WebClientEx.TimeoutCallback), this.m_HTTPRequest, 140000, true);
		}
		public HttpStatusCode OpenDownload(Uri url, long StartPoint, string completeFilePath)
		{
			this.m_StartPoint = StartPoint;
			this.m_IsFileDownload = true;
			this.m_ReceiveBuffer = new byte[4096];
			this.m_TotalReaded = 0L;
			this.m_SessionReceived = 0L;
			this.m_FinalFilePath = completeFilePath;
			this.m_CompleteFilePath = completeFilePath + #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804683);
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_CopyCookies(url.ToString(), this.m_HTTPRequest);
			if (StartPoint >= 0L && File.Exists(this.m_CompleteFilePath))
			{
				FileInfo fileInfo = new FileInfo(this.m_CompleteFilePath);
				this.m_StartPoint = fileInfo.Length;
			}
			if (this.m_StartPoint > 0L)
			{
				this.m_AddRange(this.m_StartPoint);
			}
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.KeepAlive = false;
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			HttpStatusCode statusCode;
			try
			{
				this.m_HTTPResponse = (HttpWebResponse)this.m_HTTPRequest.GetResponse();
			}
			catch (WebException arg_12B_0)
			{
				WebException webException = arg_12B_0;
				this.m_HTTPResponse = (HttpWebResponse)webException.Response;
				if (this.m_HTTPResponse != null)
				{
					statusCode = this.m_HTTPResponse.StatusCode;
					return statusCode;
				}
				this.m_AsyncError(webException);
				throw webException;
			}
			catch (Exception arg_162_0)
			{
				Exception exception = arg_162_0;
				this.m_AsyncError(exception);
				throw exception;
			}
			return this.m_HTTPResponse.StatusCode;
			return statusCode;
		}
		public void ContinueDownloadFile(bool cancel)
		{
			if (cancel)
			{
				this.m_HTTPResponse.Close();
				return;
			}
			this.m_ProcessResponse();
		}
		public void DownloadStringAsync(Uri url, object state)
		{
			this.m_UserState = state;
			this.DownloadStringAsync(url);
		}
		public void DownloadStringAsync(Uri url)
		{
			this.m_IsStringDownload = true;
			this.m_ReceiveBuffer = new byte[4096];
			this.m_TotalReaded = 0L;
			this.m_SessionReceived = 0L;
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_CopyCookies(url.ToString(), this.m_HTTPRequest);
			if (this.m_StartPoint > 0L)
			{
				this.m_AddRange(this.m_StartPoint);
			}
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			IAsyncResult asyncResult = this.m_HTTPRequest.BeginGetResponse(new AsyncCallback(this.m_OnResponse), null);
			ThreadPool.RegisterWaitForSingleObject(asyncResult.AsyncWaitHandle, new WaitOrTimerCallback(WebClientEx.TimeoutCallback), this.m_HTTPRequest, 140000, true);
		}
		public void DownloadDataAsync(Uri url, object state)
		{
			this.m_UserState = state;
			this.DownloadDataAsync(url);
		}
		public void DownloadDataAsync(Uri url)
		{
			this.m_IsDataDownload = true;
			this.m_ReceiveBuffer = new byte[4096];
			this.m_TotalReaded = 0L;
			this.m_SessionReceived = 0L;
			this.m_HTTPRequest = (HttpWebRequest)WebRequest.Create(url);
			this.CopyHeadersTo(this.m_HTTPRequest);
			this.m_CopyCookies(url.ToString(), this.m_HTTPRequest);
			this.m_HTTPRequest.Method = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804743);
			this.m_HTTPRequest.ReadWriteTimeout = 140000;
			this.m_HTTPRequest.Timeout = 140000;
			IAsyncResult asyncResult = this.m_HTTPRequest.BeginGetResponse(new AsyncCallback(this.m_OnResponse), null);
			ThreadPool.RegisterWaitForSingleObject(asyncResult.AsyncWaitHandle, new WaitOrTimerCallback(WebClientEx.TimeoutCallback), this.m_HTTPRequest, 140000, true);
		}
		private void m_ParseContentRange(string range)
		{
			Regex regex = new Regex(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804735));
			Match match = regex.Match(range);
			if (match.Success)
			{
				long num = long.Parse(match.Result(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804918)));
				long num2 = long.Parse(match.Result(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804923)));
				this.FileSize = num2 - num;
			}
		}
		private void m_AsyncError(Exception e)
		{
			try
			{
				if (this.m_ResponseStream != null)
				{
					this.m_ResponseStream.Close();
					this.m_ResponseStream = null;
				}
				if (this.m_HTTPRequest != null)
				{
					this.m_HTTPRequest.Abort();
				}
				if (this.m_HTTPResponse != null)
				{
					this.m_HTTPResponse.Close();
				}
			}
			catch
			{
			}
			if (this.m_IsFileDownload)
			{
				if (this.m_File != null)
				{
					try
					{
						this.m_File.Close();
					}
					catch
					{
					}
				}
				if (this.DownloadFileCompleted != null)
				{
					this.DownloadFileCompleted(this, new AsyncCompletedEventArgs(e, this.m_Cancelled, this));
				}
				this.m_Cancelled = false;
				return;
			}
			if (this.m_IsStringDownload)
			{
				if (this.DownloadStringCompleted != null)
				{
					this.DownloadStringCompleted(this, new #=qgdDUb37$8N8uOCfcJZrRJEviGP23Jgn3luxy_1kxcQN8THXu8DgFOyWWq20ga7lh(null, e, this.m_Cancelled, this.m_UserState));
				}
				this.m_Cancelled = false;
				return;
			}
			if (this.m_IsDataDownload && this.DownloadDataCompleted != null)
			{
				#=qvOKTrDDIi$07IldXhFh95G7SYUSCpDLKs6LdxMarvkI3iVETb95XKjhr2xNdmo0e #=qHfBJJrKQKFC$RnwoTCSBaQ== = new #=qvOKTrDDIi$07IldXhFh95G7SYUSCpDLKs6LdxMarvkI3iVETb95XKjhr2xNdmo0e(null, e, this.m_Cancelled, this.m_UserState);
				this.DownloadDataCompleted(this, #=qHfBJJrKQKFC$RnwoTCSBaQ==);
				this.m_Cancelled = false;
			}
		}
		private void m_ProcessResponse()
		{
			try
			{
				bool flag = false;
				if (this.m_HTTPResponse.StatusCode == HttpStatusCode.PartialContent)
				{
					flag = true;
					this.m_TotalReaded += this.m_StartPoint;
				}
				this.FileSize = this.m_HTTPResponse.ContentLength;
				if (this.FileSize <= 0L)
				{
					string text = this.m_HTTPResponse.Headers[HttpResponseHeader.ContentRange];
					if (text != null && text.Length > 0)
					{
						this.m_ParseContentRange(text);
					}
				}
				else
				{
					if (this.m_StartPoint > 0L && flag)
					{
						this.FileSize += this.m_StartPoint;
					}
				}
				if (this.FileSize <= 0L)
				{
					this.FileSize = 0L;
				}
				if (this.m_IsFileDownload)
				{
					string directoryName = Path.GetDirectoryName(this.m_CompleteFilePath);
					if (!Directory.Exists(directoryName))
					{
						Directory.CreateDirectory(directoryName);
					}
					if (flag && File.Exists(this.m_CompleteFilePath))
					{
						this.m_File = new FileStream(this.m_CompleteFilePath, FileMode.Append, FileAccess.Write, FileShare.Read);
					}
					else
					{
						this.m_File = new FileStream(this.m_CompleteFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.Read);
					}
					#=qMGT9u9lKl46KbHHdehV$rg==.#=qfiCtdcdSJrt$SkFksdUMog==().#=qFbiR043zZxCuFunMt$bTcpP5m$Zo1UQDaCcAKIkR_xptUHTP50cETYhShV0qXm3U(this.m_CompleteFilePath);
				}
				if (this.m_IsStringDownload || this.m_IsDataDownload)
				{
					this.m_DataStream = new MemoryStream();
				}
				this.m_ResponseStream = this.m_HTTPResponse.GetResponseStream();
				IAsyncResult asyncResult = this.m_ResponseStream.BeginRead(this.m_ReceiveBuffer, 0, this.m_ReceiveBuffer.Length, new AsyncCallback(this.m_OnDataReceived), null);
				ThreadPool.RegisterWaitForSingleObject(asyncResult.AsyncWaitHandle, new WaitOrTimerCallback(WebClientEx.TimeoutCallback), this.m_HTTPRequest, 140000, true);
			}
			catch (Exception arg_1D6_0)
			{
				Exception e = arg_1D6_0;
				this.m_AsyncError(e);
			}
		}
		private void m_OnResponse(IAsyncResult asynchronousResult)
		{
			try
			{
				this.m_HTTPResponse = (HttpWebResponse)this.m_HTTPRequest.EndGetResponse(asynchronousResult);
				this.m_ProcessResponse();
			}
			catch (Exception arg_3F_0)
			{
				Exception e = arg_3F_0;
				this.m_AsyncError(e);
			}
		}
		private void m_OnDataReceived(IAsyncResult asynchronousResult)
		{
			try
			{
				if (this.WaitTime > 0.0)
				{
					Thread.Sleep(TimeSpan.FromMilliseconds(this.WaitTime));
				}
				int num = this.m_ResponseStream.EndRead(asynchronousResult);
				this.m_TotalReaded += (long)num;
				this.m_SessionReceived += (long)num;
				if (this.DownloadProgressChanged != null)
				{
					this.DownloadProgressChanged(this, new #=qupV9QhoRvQxijeiu6py$dGIVkskaneiwidgK8vCBvCvRpgxOV3ptYfJVm3W2El$L(this.m_TotalReaded, this.FileSize, this.m_SessionReceived));
				}
				if (this.m_IsFileDownload)
				{
					this.m_File.Write(this.m_ReceiveBuffer, 0, num);
				}
				if (this.m_IsStringDownload || this.m_IsDataDownload)
				{
					this.m_DataStream.Write(this.m_ReceiveBuffer, 0, num);
				}
				if (num > 0)
				{
					IAsyncResult asyncResult = this.m_ResponseStream.BeginRead(this.m_ReceiveBuffer, 0, this.m_ReceiveBuffer.Length, new AsyncCallback(this.m_OnDataReceived), null);
					ThreadPool.RegisterWaitForSingleObject(asyncResult.AsyncWaitHandle, new WaitOrTimerCallback(WebClientEx.TimeoutCallback), this.m_HTTPRequest, 140000, true);
				}
				else
				{
					this.m_HTTPResponse.Close();
					this.m_ResponseStream.Close();
					this.m_ResponseStream = null;
					if (this.m_IsFileDownload)
					{
						this.m_Completefile();
					}
					else
					{
						if (this.m_IsStringDownload)
						{
							string @string = this.m_GuessDownloadEncoding(this.m_HTTPRequest).GetString(this.m_DataStream.GetBuffer(), 0, (int)this.m_DataStream.Length);
							this.m_DataStream.Close();
							this.m_DataStream = null;
							if (this.DownloadStringCompleted != null)
							{
								this.DownloadStringCompleted(this, new #=qgdDUb37$8N8uOCfcJZrRJEviGP23Jgn3luxy_1kxcQN8THXu8DgFOyWWq20ga7lh(@string, null, false, this.m_UserState));
								this.m_UserState = null;
							}
						}
						else
						{
							if (this.m_IsDataDownload)
							{
								if (this.DownloadDataCompleted != null)
								{
									byte[] array = new byte[(int)((object)((IntPtr)this.m_DataStream.Length))];
									this.m_DataStream.Seek(0L, SeekOrigin.Begin);
									this.m_DataStream.Read(array, 0, (int)this.m_DataStream.Length);
									#=qvOKTrDDIi$07IldXhFh95G7SYUSCpDLKs6LdxMarvkI3iVETb95XKjhr2xNdmo0e #=qHfBJJrKQKFC$RnwoTCSBaQ== = new #=qvOKTrDDIi$07IldXhFh95G7SYUSCpDLKs6LdxMarvkI3iVETb95XKjhr2xNdmo0e(array, null, false, this.m_UserState);
									this.DownloadDataCompleted(this, #=qHfBJJrKQKFC$RnwoTCSBaQ==);
									this.m_UserState = null;
								}
								this.m_DataStream.Close();
								this.m_DataStream = null;
							}
						}
					}
				}
			}
			catch (Exception arg_294_0)
			{
				Exception e = arg_294_0;
				if (!this.m_Cancelled && this.m_IsFileDownload)
				{
					try
					{
						string text = this.m_HTTPResponse.Headers[HttpResponseHeader.ContentRange];
						long num2 = -1L;
						if (text != null && text.Length > 0)
						{
							text = Downloader.MatchAndReplace(text, #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804906), #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804468));
							if (text.Length > 0)
							{
								num2 = long.Parse(text);
							}
						}
						if (num2 == this.m_TotalReaded || this.m_SessionReceived == this.m_HTTPResponse.ContentLength)
						{
							this.m_Completefile();
							return;
						}
					}
					catch
					{
						this.m_AsyncError(e);
					}
				}
				this.m_AsyncError(e);
			}
		}
		private void m_Completefile()
		{
			this.m_File.Close();
			this.m_File = null;
			if (File.Exists(this.m_FinalFilePath))
			{
				File.Delete(this.m_FinalFilePath);
			}
			File.Move(this.m_CompleteFilePath, this.m_FinalFilePath);
			if (this.DownloadFileCompleted != null)
			{
				this.DownloadFileCompleted(this, new AsyncCompletedEventArgs(null, false, this));
			}
		}
		private Encoding m_GuessDownloadEncoding(WebRequest request)
		{
			Encoding result;
			try
			{
				string text = request.Headers[HttpRequestHeader.ContentType];
				if (text == null)
				{
					result = Encoding.Default;
					return result;
				}
				string[] array = text.ToLower(CultureInfo.InvariantCulture).Split(new char[]
				{
					';', 
					'=', 
					' '
				});
				bool flag = false;
				string[] array2 = array;
				for (int i = 0; i < array2.Length; i++)
				{
					string text2 = array2[i];
					if (text2 == #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804805))
					{
						flag = true;
					}
					else
					{
						if (flag)
						{
							result = Encoding.GetEncoding(text2);
							return result;
						}
					}
				}
			}
			catch (Exception arg_B4_0)
			{
				Exception exception = arg_B4_0;
				if (exception is ThreadAbortException || exception is StackOverflowException || exception is OutOfMemoryException)
				{
					throw;
				}
			}
			catch
			{
			}
			return Encoding.Default;
			return result;
		}
		private void CopyHeadersTo(WebRequest request)
		{
			if (this.Headers != null && request is HttpWebRequest)
			{
				string text = this.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804811)];
				string text2 = this.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804858)];
				string text3 = this.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804841)];
				string text4 = this.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805510)];
				string text5 = this.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805513)];
				string text6 = this.Headers[#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851809577)];
				this.Headers.Remove(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804811));
				this.Headers.Remove(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804858));
				this.Headers.Remove(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851804841));
				this.Headers.Remove(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805510));
				this.Headers.Remove(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805513));
				this.Headers.Remove(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851809577));
				request.Headers = this.Headers;
				if (text != null && text.Length > 0)
				{
					((HttpWebRequest)request).Accept = text;
				}
				if (text2 != null && text2.Length > 0)
				{
					((HttpWebRequest)request).Connection = text2;
				}
				if (text3 != null && text3.Length > 0)
				{
					((HttpWebRequest)request).ContentType = text3;
				}
				if (text4 != null && text4.Length > 0)
				{
					((HttpWebRequest)request).Expect = text4;
				}
				if (text5 != null && text5.Length > 0)
				{
					((HttpWebRequest)request).Referer = text5;
				}
				if (text6 != null && text6.Length > 0)
				{
					((HttpWebRequest)request).UserAgent = text6;
				}
			}
		}
		private static void TimeoutCallback(object state, bool timedOut)
		{
			if (timedOut)
			{
				HttpWebRequest httpWebRequest = state as HttpWebRequest;
				if (httpWebRequest != null)
				{
					try
					{
						httpWebRequest.Abort();
					}
					catch
					{
					}
				}
			}
		}
		public void Dispose()
		{
		}
		private void m_AddRange(long start)
		{
			if (start >= 2147483647L)
			{
				MethodInfo method = typeof(WebHeaderCollection).GetMethod(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805567), BindingFlags.Instance | BindingFlags.NonPublic);
				string text = #=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805458);
				string text2 = string.Format(#=q6agXXPacuhxFUQRBU2kIjDXlNY5o4HZ7i3gPOpY_uaJlWu8jFMhErz3DRXUOid4f.#=qLbLmXavFoaMnC2lVKdHqwA==(-1851805446), start);
				method.Invoke(this.m_HTTPRequest.Headers, new object[]
				{
					text, 
					text2
				});
				return;
			}
			this.m_HTTPRequest.AddRange((int)start);
		}
	}
}
posted @ 2011-04-19 22:31  吾爱易逝  阅读(1199)  评论(0编辑  收藏  举报