Beispiel #1
0
    static string Dump(Uri url)
    {
        var fetcher = new WebUriFetcher();
        var result  = fetcher.Load(url);

        if (result.IsHtml)
        {
            try
            {
                var tmp = Path.GetTempFileName();
                File.WriteAllText(tmp, result.Page.Content);

                return(string.Format("Successfully dumped HTML contents of {0} to {1}", url, tmp));
            }
            catch (IOException ex)
            {
                return(ex.Message);
            }
        }
        else
        {
            if (result.Bytes.Success)
            {
                return(string.Format("Not HTML ({0}): {1}", result.Bytes.ContentType, url));
            }
            else
            {
                return(result.Bytes.Exception.Message);
            }
        }
    }
Beispiel #2
0
        public WebToIrc()
        {
            Chan  = new ChanHandler();
            Danbo = new DanboHandler();
            Gelbo = new GelboHandler();
            Wiki  = new WikipediaHandler();

            urlFetcher = new WebUriFetcher()
            {
                Cookies        = new CookieContainer(),
                MaxSizeNonHtml = SizeConstants.NonHtmlDefault
            };

            preHtmlHandlers = new Func <TitlingRequest, TitlingResult>[] {
                Danbo.HandleRequest,
                Gelbo.HandleRequest,
                Chan.HandleRequest
            };

            // Generic instructions, for all URLs not matched by
            // previous instructions.
            var generic = new UrlLoadInstructions(
                uri => true,
                SizeConstants.HtmlDefault,
                true,
                GenericHandler
                );

            urlInstructions = new UrlLoadInstructions[] {
                UrlLoadInstructions.Youtube,
                UrlLoadInstructions.Twitter,
                Wiki.LoadInstructions,
                generic
            };
        }