Exemplo n.º 1
0
        private Stream DoDataDownload(Int32 page)
        {
            WebClient client = new WebClient();

            client.Encoding = Encoding.UTF8;
            if (page == 0)
            {
                client.Headers.Add("Referer", _searchPostUrl);
            }
            else
            {
                client.Headers.Add("Referer", _searchPageUrl);
            }
            if (!String.IsNullOrEmpty(_cookie))
            {
                client.Headers.Add("Cookie", _cookie);
            }
            client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36");
            client.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
            client.Headers.Add("Accept-Language", "en-US;q=0.8,en;q=0.7");
            client.Headers.Add("Host", "www.ratchakitcha.soc.go.th");
            client.Headers.Add("Upgrade-Insecure-Requests", "1");

            // client.Headers.Add("Accept-Encoding", "gzip,deflate");
            client.Headers.Add("Accept-Charset", "UTF-8,*");
            System.IO.Stream receiveStream = client.OpenRead(_dataUrl);
            MemoryStream     memory        = new MemoryStream();

            TambonHelper.StreamCopy(receiveStream, memory);
            memory.Seek(0, 0);
            return(memory);
        }
Exemplo n.º 2
0
        public void MirrorToCache()
        {
            String lCacheFile = CacheFilename();

            if (!Cached())
            {
                System.IO.Stream lFileStream = null;
                try
                {
                    try
                    {
                        System.Net.WebClient lWebClient = new System.Net.WebClient();
                        System.IO.Stream     WebStream  = lWebClient.OpenRead(URL());
                        DirectoryInfo        lDirInfo   = new DirectoryInfo(@GlobalSettings.PDFDir);
                        string s = Path.GetDirectoryName(URI);
                        if (!String.IsNullOrEmpty(s))
                        {
                            lDirInfo.CreateSubdirectory(s);
                        }
                        System.IO.Stream lMemoryStream = new MemoryStream();
                        TambonHelper.StreamCopy(WebStream, lMemoryStream);
                        if (lMemoryStream.Length > 0)
                        {
                            lMemoryStream.Seek(0, SeekOrigin.Begin);
                            lFileStream = new FileStream(lCacheFile, FileMode.CreateNew);
                            TambonHelper.StreamCopy(lMemoryStream, lFileStream);
                            lFileStream.Flush();
                        }
                    }
                    finally
                    {
                        if (lFileStream != null)
                        {
                            lFileStream.Dispose();
                        }
                    }
                }
                catch
                {
                    if (File.Exists(lCacheFile))
                    {
                        File.Delete(lCacheFile);
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void Download(String filename)
        {
            Stream outputStream = null;

            try
            {
                WebClient webClient   = new System.Net.WebClient();
                Stream    inputStream = webClient.OpenRead(_urlBase + filename);

                outputStream = new FileStream(HtmlCacheFileName(filename), FileMode.CreateNew);
                TambonHelper.StreamCopy(inputStream, outputStream);
                outputStream.Flush();
            }
            finally
            {
                outputStream.Dispose();
            }
        }
Exemplo n.º 4
0
        private void SaveToCache(Stream data, Int16 amphoeId)
        {
            System.IO.Stream outFileStream = null;
            String           lFileName     = CacheFileName(amphoeId);

            Directory.CreateDirectory(CacheDirectory());
            try
            {
                try
                {
                    outFileStream = new FileStream(lFileName, FileMode.CreateNew);
                    TambonHelper.StreamCopy(data, outFileStream);
                    outFileStream.Flush();
                }
                finally
                {
                    outFileStream.Dispose();
                }
            }
            catch
            {
                File.Delete(lFileName);
            }
        }