Пример #1
0
        private static byte[] getData(string url)
        {
            string protocol = url.Substring(0, url.IndexOf(':'));

            if (protocol.Equals("data"))
            {
                bool   isBase64 = url.IndexOf(";base64", 5) != -1;
                int    start    = url.IndexOf(',', 5) + 1;
                string content  = url.Substring(start, url.Length - start);
                if (isBase64)
                {
                    return(Convert.FromBase64String(content));
                }
                start = url.IndexOf(";charset=", 5);
                if (start == -1)
                {
                    return(Encoding.Default.GetBytes(content));
                }
                int      end1 = url.IndexOf(';', start + 9), end2 = url.IndexOf(',', start + 9);
                Encoding encoding = Encoding.GetEncoding(url.Substring(start + 9, (end1 == -1 ? end2 : Math.Min(end1, end2)) - start - 9));
                return(encoding.GetBytes(content));
            }
            return(Interfaces.getHttpRequest(url));
        }