protected string GetContentUsingHttp(string url) { string ret = string.Empty; #if !PocketPC WebRequest request = IsSocksProxy ? SocksHttpWebRequest.Create(url) : WebRequest.Create(url); #else WebRequest request = WebRequest.Create(url); #endif if (WebProxy != null) { request.Proxy = WebProxy; } if (Credential != null) { request.PreAuthenticate = true; request.Credentials = Credential; } if (!string.IsNullOrEmpty(Authorization)) { request.Headers.Set("Authorization", Authorization); } if (request is HttpWebRequest) { var r = request as HttpWebRequest; r.UserAgent = UserAgent; r.ReadWriteTimeout = TimeoutMs * 6; r.Accept = requestAccept; r.Referer = RefererUrl; r.Timeout = TimeoutMs; } #if !PocketPC else if (request is SocksHttpWebRequest) { var r = request as SocksHttpWebRequest; if (!string.IsNullOrEmpty(UserAgent)) { r.Headers.Add("User-Agent", UserAgent); } if (!string.IsNullOrEmpty(requestAccept)) { r.Headers.Add("Accept", requestAccept); } if (!string.IsNullOrEmpty(RefererUrl)) { r.Headers.Add("Referer", RefererUrl); } } #endif using (var response = request.GetResponse()) { using (Stream responseStream = response.GetResponseStream()) { using (StreamReader read = new StreamReader(responseStream, Encoding.UTF8)) { ret = read.ReadToEnd(); } } #if PocketPC request.Abort(); #endif response.Close(); } return(ret); }
protected PureImage GetTileImageUsingHttp(string url) { PureImage ret = null; #if !PocketPC WebRequest request = IsSocksProxy ? SocksHttpWebRequest.Create(url) : WebRequest.Create(url); #else WebRequest request = WebRequest.Create(url); #endif if (WebProxy != null) { request.Proxy = WebProxy; } if (Credential != null) { request.PreAuthenticate = true; request.Credentials = Credential; } if (!string.IsNullOrEmpty(Authorization)) { request.Headers.Set("Authorization", Authorization); } if (request is HttpWebRequest) { var r = request as HttpWebRequest; r.UserAgent = UserAgent; r.ReadWriteTimeout = TimeoutMs * 6; r.Accept = requestAccept; r.Referer = RefererUrl; r.Timeout = TimeoutMs; } #if !PocketPC else if (request is SocksHttpWebRequest) { var r = request as SocksHttpWebRequest; if (!string.IsNullOrEmpty(UserAgent)) { r.Headers.Add("User-Agent", UserAgent); } if (!string.IsNullOrEmpty(requestAccept)) { r.Headers.Add("Accept", requestAccept); } if (!string.IsNullOrEmpty(RefererUrl)) { r.Headers.Add("Referer", RefererUrl); } } #endif using (var response = request.GetResponse()) { if (CheckTileImageHttpResponse(response)) { using (Stream responseStream = response.GetResponseStream()) { MemoryStream data = Stuff.CopyStream(responseStream, false); Debug.WriteLine("Response[" + data.Length + " bytes]: " + url); if (data.Length > 0) { ret = TileImageProxy.FromStream(data); if (ret != null) { ret.Data = data; ret.Data.Position = 0; } else { data.Dispose(); } } data = null; } } else { Debug.WriteLine("CheckTileImageHttpResponse[false]: " + url); } #if PocketPC request.Abort(); #endif response.Close(); } return(ret); }