byte[] ReadResponseStream(HttpWebResponse response, TimingParams param) { DateTime start = DateTime.Now; bool useDownlTimeout = param.DownloadTimeout == Timeout.Infinite ? false : true; byte[] data = null; byte[] buffer = new byte[8 * 1024]; try { using (Stream stream = response.GetResponseStream()) { using (MemoryStream ms = new MemoryStream()) { int readed; while ((readed = stream.Read(buffer, 0, buffer.Length)) > 0 && ms.Length < param.MaxPageSize) { ms.Write(buffer, 0, readed); if (useDownlTimeout && (DateTime.Now - start).TotalMilliseconds > param.DownloadTimeout) { break; } } data = ms.GetBuffer(); } } return(data); } catch (Exception e) { throw e; } }
HttpWebRequest CreateRequest(Uri uri, CookieOptions cookieOptions, TimingParams param, RequestParams requestParam, RatedProxy proxy, CookieCollection insertCookie) { HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest; request.Headers = requestParam.Headers; request.UserAgent = requestParam.UserAgent; request.Host = uri.Host; request.Accept = requestParam.Accept; request.ContentType = requestParam.ContentType; //request.Referer = "http://www.google.com/"; request.AllowAutoRedirect = requestParam.UseRedirect; request.KeepAlive = requestParam.KeepAlive; request.AutomaticDecompression = System.Net.DecompressionMethods.Deflate | System.Net.DecompressionMethods.GZip; request.Proxy = proxy; request.Timeout = param.RequestTimeout; request.ReadWriteTimeout = param.GetStreamTimeout; request.CookieContainer = BuildCookieContainer(cookieOptions, insertCookie); request.Method = requestParam.Method; return(request); }
byte[] ReadResponseStream(HttpWebResponse response, TimingParams param) { DateTime start = DateTime.Now; bool useDownlTimeout = param.DownloadTimeout == Timeout.Infinite ? false : true; byte[] data = null; byte[] buffer = new byte[8 * 1024]; try { using (Stream stream = response.GetResponseStream()) { using (MemoryStream ms = new MemoryStream()) { int readed; while ((readed = stream.Read(buffer, 0, buffer.Length)) > 0 && ms.Length < param.MaxPageSize) { ms.Write(buffer, 0, readed); if (useDownlTimeout && (DateTime.Now - start).TotalMilliseconds > param.DownloadTimeout) break; } data = ms.GetBuffer(); } } return data; } catch (Exception e) { throw e; } }
HttpWebRequest CreateRequest(Uri uri, CookieOptions cookieOptions, TimingParams param, RequestParams requestParam, RatedProxy proxy, CookieCollection insertCookie) { HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest; request.Headers = requestParam.Headers; request.UserAgent = requestParam.UserAgent; request.Host = uri.Host; request.Accept = requestParam.Accept; request.ContentType = requestParam.ContentType; //request.Referer = "http://www.google.com/"; request.AllowAutoRedirect = requestParam.UseRedirect; request.KeepAlive = requestParam.KeepAlive; request.AutomaticDecompression = System.Net.DecompressionMethods.Deflate | System.Net.DecompressionMethods.GZip; request.Proxy = proxy; request.Timeout = param.RequestTimeout; request.ReadWriteTimeout = param.GetStreamTimeout; request.CookieContainer = BuildCookieContainer(cookieOptions, insertCookie); request.Method = requestParam.Method; return request; }