public static bool IsWebFile(Stream stream) { using (EndianReader reader = new EndianReader(stream, EndianType.BigEndian)) { return(WebHeader.IsWebHeader(reader)); } }
public static bool IsWebFile(Stream stream, long offset, long size) { using (PartialStream bundleStream = new PartialStream(stream, offset, size)) { using (EndianReader reader = new EndianReader(bundleStream, EndianType.BigEndian)) { return(WebHeader.IsWebHeader(reader)); } } }
public RequestOptions(string url, bool isPost = false) { Uri = new Uri(url); if (isPost) { Method = "POST"; } else { Method = "GET"; } KeepAlive = false; ContentType = "application/json;utf-8"; WebHeader.Add("Accept-Language", "zh-CN,zh;q=0.9"); WebHeader.Add("Accept-Encoding", "gzip, deflate"); }
/// <summary> /// Creates the web response for the current web request. /// </summary> private void CreateWebResponse() { // Get the context HttpRequestResponseContext context = ((ScriptingHttpState)HttpStateData).HttpRequestResponseContext; // Create a web response context.Request.WebResponse = new WebResponse(); Cookies cookies = new Cookies(); cookies.AddCookies(HttpResponseData.CookieCollection); // Fill the web response context.Request.WebResponse.Cookies = cookies.GetCookies(); context.Request.WebResponse.ErrorMessage = string.Empty; context.Request.WebResponse.GetHtmlXml = HttpResponseData.GetHtmlXml; context.Request.WebResponse.HttpBody = HttpResponseData.HttpBody; context.Request.WebResponse.ResponseHttpSettings = context.Request.RequestHttpSettings.Clone(); ArrayList headers = new ArrayList(); //int i = 0; foreach ( DictionaryEntry de in HttpResponseData.ResponseHeaderCollection ) { string name = Convert.ToString(de.Key); switch ( name.ToLower(System.Globalization.CultureInfo.InvariantCulture) ) { case "accept": break; case "connection": break; case "content-length": context.Request.WebResponse.ResponseHttpSettings.ContentLength = HttpStateData.HttpResponse.ContentLength; break; case "content-type": context.Request.WebResponse.ResponseHttpSettings.ContentType = HttpStateData.HttpResponse.ContentType; break; case "character set": context.Request.WebResponse.CharacterSet = HttpStateData.HttpResponse.CharacterSet; break; case "content encoding": context.Request.WebResponse.ContentEncoding = HttpStateData.HttpResponse.ContentEncoding; break; case "date": break; case "expect": break; case "host": break; case "if-modified-since": context.Request.WebResponse.ResponseHttpSettings.IfModifiedSince = HttpStateData.HttpResponse.LastModified; break; case "last modified": context.Request.WebResponse.ResponseHttpSettings.IfModifiedSince = HttpStateData.HttpResponse.LastModified; break; case "protocol version": context.Request.WebResponse.Version = HttpResponseData.Version; break; case "range": break; case "referer": break; case "response uri": context.Request.WebResponse.ResponseUri = HttpStateData.HttpResponse.ResponseUri.ToString(); break; case "status": break; case "status code": context.Request.WebResponse.StatusCode = HttpResponseData.StatusCode; break; case "status description": context.Request.WebResponse.StatusDescription = HttpStateData.HttpResponse.StatusDescription; break; case "transfer-encoding": break; case "user-agent": break; default: WebHeader header = new WebHeader(); header.Name = name; header.Value = Convert.ToString(de.Value); headers.Add(header); break; } } context.Request.WebResponse.ResponseHttpSettings.AdditionalHeaders = (WebHeader[])headers.ToArray(typeof(WebHeader)); context.Request.WebResponse.Scripts = HttpResponseData.Scripts.ToArray(); }