コード例 #1
0
        private async Task <string> RequestGetAsync()
        {
            string         requestUrl = "https://www.tumblr.com/";
            HttpWebRequest request    = webRequestFactory.CreateGetReqeust(requestUrl);

            return(await webRequestFactory.ReadReqestToEnd(request).TimeoutAfter(shellService.Settings.TimeOut));
        }
コード例 #2
0
        private async Task <string> GetRequestAsync()
        {
            var            requestUrl = "https://www.tumblr.com/";
            HttpWebRequest request    = webRequestFactory.CreateGetReqeust(requestUrl);

            return(await webRequestFactory.ReadReqestToEnd(request));
        }
コード例 #3
0
ファイル: LoginService.cs プロジェクト: sdtm1016/TumblThree
        public async Task <string> GetTumblrUsername()
        {
            string         tumblrAccountSettingsUrl = "https://www.tumblr.com/settings/account";
            HttpWebRequest request = webRequestFactory.CreateGetReqeust(tumblrAccountSettingsUrl);

            cookieService.GetUriCookie(request.CookieContainer, new Uri("https://www.tumblr.com/"));
            string document = await webRequestFactory.ReadReqestToEnd(request).TimeoutAfter(shellService.Settings.TimeOut);

            return(ExtractTumblrUsername(document));
        }
コード例 #4
0
        public virtual async Task <string> RequestImgurAlbumSite(string imgurAlbumUrl)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                HttpWebRequest request = webRequestFactory.CreateGetReqeust(imgurAlbumUrl);
                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEnd(request));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }
コード例 #5
0
ファイル: GfycatParser.cs プロジェクト: yl9345/TumblThree
        public virtual async Task <string> RequestGfycatCajax(string gfyId)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                string         url     = @"https://gfycat.com/cajax/get/" + gfyId;
                HttpWebRequest request = webRequestFactory.CreateGetXhrReqeust(url);
                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEnd(request).TimeoutAfter(settings.TimeOut));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }
コード例 #6
0
        protected virtual async Task <string> RequestDataAsync(string url, params string[] cookieHosts)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                HttpWebRequest request = webRequestFactory.CreateGetReqeust(url);
                foreach (string cookieHost in cookieHosts)
                {
                    cookieService.GetUriCookie(request.CookieContainer, new Uri(cookieHost));
                }
                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEnd(request).TimeoutAfter(shellService.Settings.TimeOut));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }
コード例 #7
0
ファイル: AbstractCrawler.cs プロジェクト: wlaotou/TumblThree
        protected async Task <string> RequestDataAsync(string url, Dictionary <string, string> headers = null, IEnumerable <string> cookieHosts = null)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                HttpWebRequest request = webRequestFactory.CreateGetReqeust(url, "", headers);
                cookieHosts = cookieHosts ?? new List <String>();
                foreach (string cookieHost in cookieHosts)
                {
                    cookieService.GetUriCookie(request.CookieContainer, new Uri(cookieHost));
                }
                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEnd(request));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }
コード例 #8
0
        public async Task <string> GetLatestReleaseFromServer()
        {
            version      = null;
            downloadLink = null;
            try
            {
                var    request = webRequestFactory.CreateGetReqeust(@"https://api.github.com/repos/johanneszab/tumblthree/releases/latest");
                string result  = await webRequestFactory.ReadReqestToEnd(request);

                XmlDictionaryReader jsonReader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(result),
                                                                                          new System.Xml.XmlDictionaryReaderQuotas());
                XElement root = XElement.Load(jsonReader);
                version      = root.Element("tag_name").Value;
                downloadLink = root.Element("assets").Element("item").Element("browser_download_url").Value;
            }
            catch (Exception exception)
            {
                Logger.Error(exception.ToString());
                return(exception.Message);
            }
            return(null);
        }
コード例 #9
0
        protected virtual async Task <string> RequestDataAsync(string url, params string[] cookieHosts)
        {
            var requestRegistration = new CancellationTokenRegistration();

            try
            {
                HttpWebRequest request = webRequestFactory.CreateGetReqeust(url);
                foreach (string cookieHost in cookieHosts)
                {
                    cookieService.GetUriCookie(request.CookieContainer, new Uri(cookieHost));
                }
                string username = blog.Name + ".tumblr.com";
                string password = blog.Password;
                string encoded  = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
                request.Headers.Add("Authorization", "Basic " + encoded);
                //request.Credentials = new NetworkCredential(blog.Name + ".tumblr.com", blog.Password);
                requestRegistration = ct.Register(() => request.Abort());
                return(await webRequestFactory.ReadReqestToEnd(request).TimeoutAfter(shellService.Settings.TimeOut));
            }
            finally
            {
                requestRegistration.Dispose();
            }
        }