Esempio n. 1
0
        public async void Can_use_the_HttpRequester()
        {
            var person = new Person
            {
                Id = Guid.NewGuid(),
                FirstName = "Daniel",
                LastName = "Wertheim",
                Age = 35
            };

            using (var requester = new HttpRequester($"{_server.BaseAddress}/api/persons/", _server.Handler))
            {
                var forThePut = await requester.PutEntityAsync(person);
                forThePut.TheResponse(should => should
                    .BeSuccessful()
                    .HaveStatus(HttpStatusCode.Created));

                var forTheGet = await requester.GetAsync(person.Id.ToString());
                forTheGet.TheResponse(should => should
                    .BeSuccessful()
                    .BeJsonResponse()
                    .HaveSpecificValue("FirstName", "Daniel"));

                var getResponse = await requester.GetAsync<Person>(person.Id.ToString());
                var retrieved = getResponse.Content;
                retrieved.Should().NotBeNull();
                retrieved.FirstName.Should().Be("Daniel");
            }
        }
Esempio n. 2
0
        public async override Task <IEnumerable <MovieTorrent> > GetMovieTorrentsAsync(string title, int year, bool exactTitle)
        {
            var imdbMoviesInfo = await ImdbRequester.GetImdbMoviesInfoAsync(title);

            var imdbMovieInfo = imdbMoviesInfo?.SingleOrDefault(m => m.OriginalTitle.StartsWith(title, StringComparison.OrdinalIgnoreCase) && m.Year == year.ToString());

            if (imdbMovieInfo == null)
            {
                return(null);
            }

            var searchUrl = $"{baseUrl}/recherche/" + imdbMovieInfo.FrenchTitle.ToLower().Replace(":", "");

            var doc = await HttpRequester.GetHtmlDocumentAsync(searchUrl);

            var searchResultList = doc.DocumentNode.SelectNodes("//table[@class='table table-hover']//td//div[@class='maxi']");

            var result = new List <MovieTorrent>();

            if (searchResultList == null)
            {
                return(result);
            }

            var getTorrentTasks = new List <Task>();

            foreach (var node in searchResultList)
            {
                doc = new HtmlDocument();
                doc.LoadHtml(node.InnerHtml);

                var mediaInfo = doc.DocumentNode.SelectSingleNode("/i");
                if (mediaInfo != null && mediaInfo.Attributes["class"].Value == "Films")
                {
                    var linkNode = doc.DocumentNode.SelectSingleNode("/a");
                    if (linkNode != null &&
                        ((exactTitle && linkNode.InnerText.Replace(" ", "").Contains(imdbMovieInfo.FrenchTitle.Replace(" ", ""), StringComparison.OrdinalIgnoreCase)) || linkNode.InnerText.ContainsWords(title.Split(" "))) &&
                        linkNode.InnerText.Contains("FRENCH") &&
                        linkNode.InnerText.EndsWith(year.ToString()) &&
                        !linkNode.InnerText.Contains("MD") &&
                        (linkNode.InnerText.Contains("720p") || linkNode.InnerText.Contains("1080p") || linkNode.InnerText.Contains("DVDRIP") || linkNode.InnerText.Contains("WEBRIP"))
                        )
                    {
                        getTorrentTasks.Add(new Task(() =>
                        {
                            result.Add(new MovieTorrent()
                            {
                                Quality     = linkNode.InnerText.GetMovieQuality(),
                                DownloadUrl = GetTorrentLink(baseUrl + linkNode.Attributes["href"].Value)
                            });
                        }));
                    }
                }
            }

            getTorrentTasks.ForEach(t => t.Start());
            Task.WaitAll(getTorrentTasks.ToArray());

            return(result);
        }
Esempio n. 3
0
        /// <summary>
        ///     After finish Http request the file version file
        /// </summary>
        /// <param name="req"></param>
        protected void OnFninshedRequest(HttpRequester req)
        {
            if (req.Error != null)
            {
                OnError(this, req.Error.Message);
            }
            else
            {
                var bytes = req.DataBytes;
                if (bytes != null && bytes.Length > 0)
                {
                    Result = int.Parse(Encoding.UTF8.GetString(req.DataBytes));
                }
                else
                {
                    OnError(this, "Error bytes!!! {0}", bytes);
                }
            }


            // release
            req.Dispose();

            Finish();
        }
Esempio n. 4
0
 public CouchDbTests()
 {
     _dbRequester = new HttpRequester(DbUrl);
     var head = _dbRequester.HeadAsync().Result;
     if(head.IsSuccess)
         _dbRequester.DeleteAsync().Wait();
 }
Esempio n. 5
0
        public void TestRequest()
        {
            var url = "http://baidu.com";

            var requester = new HttpRequester(url);

            requester.Start();
            var lastProgress = -1d;

            while (!requester.IsFinished)
            {
                if (!lastProgress.Equals(requester.Progress))
                {
                    Console.WriteLine("Progress: {0}", requester.Progress);
                    lastProgress = requester.Progress;
                }
                Thread.Sleep(1);
            }

            var str = Encoding.UTF8.GetString(requester.DataBytes);

            Console.WriteLine(str);
            Assert.Null(requester.Error);
            Assert.AreNotEqual(null, requester.DataStream);
            Assert.True(requester.DataStream.Length > 0);
        }
Esempio n. 6
0
        static void Main()
        {
            Console.WriteLine("Enter search string:");
            string searched = Console.ReadLine();

            Console.WriteLine("Enter number of articles to show (less than 100):");
            int count = int.Parse(Console.ReadLine());


            string longurl    = "http://api.feedzilla.com/v1/articles/search.json";
            var    uriBuilder = new UriBuilder(longurl);
            var    query      = HttpUtility.ParseQueryString(uriBuilder.Query);

            query["q"]       = searched;
            query["count"]   = count.ToString();
            uriBuilder.Query = query.ToString();
            longurl          = uriBuilder.ToString();

            var requestedObjects = HttpRequester.Get <RequestedObject>(longurl);

            foreach (var article in requestedObjects.articles)
            {
                Console.WriteLine("Title: {0}\nURL: {1}\n\n", article.title, article.url);
            }
        }
Esempio n. 7
0
        private async Task <string> GetDirector(string imdbCode)
        {
            var html = await HttpRequester.GetAsync("https://www.imdb.com/title/" + imdbCode, null);

            if (html == null)
            {
                return(string.Empty);
            }

            var doc = new HtmlAgilityPack.HtmlDocument();

            doc.LoadHtml(html);

            var directorSection = doc.DocumentNode.SelectSingleNode("//h4[contains(text(),'Director')]");

            if (directorSection == null)
            {
                return(string.Empty);
            }

            doc.LoadHtml(directorSection.ParentNode.InnerHtml);

            var directorName = doc.DocumentNode.SelectSingleNode("/a")?.InnerText;

            return(string.IsNullOrEmpty(directorName) ? string.Empty : directorName);
        }
Esempio n. 8
0
        public void TestRequsterAsyncHook()
        {
            var zipUrl = "http://sjres.icantw.com/g1-resources-package/trunk/g1.resources.trunk.1.3.0.3.zip";
            var req    = new HttpRequester(zipUrl);

            req.BeforeReadAsyncHook = (req11, doRead, doStop) =>
            {
                Assert.Greater(req.TotalSize, 0);
                doStop();
            };
            req.Start();
            while (!req.IsFinished)
            {
                Thread.Sleep(1);
            }

            Assert.True(req.Error is CancelException);

            var req2 = new HttpRequester(zipUrl);

            req2.BeforeReadAsyncHook = (req22, doRead, doStop) =>
            {
                doRead(); // do nothing, begin read
            };
            req2.Start();
            while (!req2.IsFinished)
            {
                Thread.Sleep(1);
            }

            Assert.False(req2.IsError);
        }
Esempio n. 9
0
        private void OnFinishRequest(HttpRequester req)
        {
            if (req.Error != null)
            {
                OnError(this, req.Error.Message);
            }

            if (req.DataBytes == null)
            {
                OnError(this, "Null request data: {0}", req.Url);
            }
            else
            {
                Md5String = Encoding.UTF8.GetString(req.DataBytes);

                var fileMd5 = Md5Helper.Md5File(_downloader.GetSavePath());
                if (fileMd5.ToLower() != Md5String.ToLower())
                {
                    OnError(this, "Md5 verify failed! Need: {0}, But: {1}, File: {2}", fileMd5, Md5String,
                            _downloader.GetSavePath());
                }
            }

            req.Dispose();
            Finish();
        }
Esempio n. 10
0
        public override Credencial Run(Camera cam)
        {
            try
            {
                //Try to connect, if we fail, because we do not get a response, the server is unreachable.
                //We wiil receive a JSON response, if it is not a JSON response, we will get an exception.
                var result = HttpRequester.Get(cam.UrlHttp + "/device.rsp?opt=user&cmd=list", new Dictionary<string, string> {{"uid", "admin"}});
                if (result == null)
                {
                    var notReachMsg = string.Format(Phrases.IP_Camera_Is_Not_Reachable, cam.Address, CommonName);
                    throw new ExploituUreachableTargetException(notReachMsg, cam, CommonName);
                }

                //We parse the JSON response to read the fields, if we get an error, is because the cam is not vulnerable, because the response is invalid
                dynamic json = result;
                string username = json.list[0].uid;
                string pass = json.list[0].pwd;
                if (username != null && pass != null)
                    return new Credencial(username, pass);
                
                return null;
            }
            catch (JsonParserErrorException ex)
            {
                //The server responds, but is not a JSON response.
                var error = string.Format("Error on parse JSON in the Cam: {0} for Exploit: {1}, Message: ", cam.Address, CommonName) + ex.Message;
                throw new ExploitFailException(error.Replace("\n", " "), cam, CommonName);
            }
            catch (RuntimeBinderException)
            {
                //The server responds, the JSON files are invalid.
                return null;
            }
        }
Esempio n. 11
0
        public override async Task <MovieDto> GetMovieDetailsAsync(string movieId)
        {
            var doc = await HttpRequester.GetHtmlDocumentAsync(htmlUrlProvider.GetMovieDetailsUrl(movieId));

            var movieTorrents     = doc.DocumentNode.SelectSingleNode("//p/em[contains(text(), 'Available in')]").ParentNode;
            var movieTorrentsHtml = new HtmlAgilityPack.HtmlDocument();

            movieTorrentsHtml.LoadHtml(movieTorrents.InnerHtml);

            return(new MovieDto()
            {
                Id = movieId,
                Title = doc.DocumentNode.SelectSingleNode("//div[@id='movie-info']//h1")?.InnerText,
                Year = doc.DocumentNode.SelectSingleNode("//div[@id='movie-info']//h2")?.InnerText,
                Duration = doc.DocumentNode.SelectSingleNode("//span[@title='Runtime']")?.ParentNode?.InnerText.Trim(),
                Genres = doc.DocumentNode.SelectNodes("//div[@id='movie-info']//h2")?.Last().InnerText.Replace("&nbsp;", string.Empty).Replace("/", ", "),
                ImdbCode = doc.DocumentNode.SelectSingleNode("//div[@id='movie-info']//a[@title='IMDb Rating']")?.Attributes["href"].Value.Split('/').SingleOrDefault(t => t.StartsWith("tt")),
                BackgroundImageUrl = htmlUrlProvider.GetImageUrl(doc.DocumentNode.SelectSingleNode("//a[contains(@class, 'screenshot-group')]").Attributes["href"].Value),
                CoverImageUrl = htmlUrlProvider.GetImageUrl(doc.DocumentNode.SelectSingleNode("//div[@id='movie-poster']//img")?.Attributes["src"].Value),
                Rating = doc.DocumentNode.SelectSingleNode("//div[@class='rating-row']/a[@title='IMDb Rating']").ParentNode.InnerText.Trim().Split('\n').First(),
                Synopsis = doc.DocumentNode.SelectSingleNode("//div[@id='synopsis']//p")?.InnerText,
                Director = doc.DocumentNode.SelectSingleNode("//div[@class='directors']//a[@class='name-cast']")?.InnerText,
                Cast = doc.DocumentNode.SelectNodes("//div[@class='actors']//a[@class='name-cast']")?.Select(n => n.InnerText).Aggregate((a, b) => a + ", " + b),
                YoutubeTrailerUrl = doc.DocumentNode.SelectSingleNode("//*[@id='playTrailer']")?.Attributes["href"].Value,
                Torrents = movieTorrentsHtml.DocumentNode.SelectNodes("//a[contains(@title, 'torrent') or contains(@title, 'Torrent')]")
                           .Select(n => new MovieTorrent()
                {
                    DownloadUrl = htmlUrlProvider.GetTorrentUrl(n.Attributes["href"].Value),
                    Quality = n.InnerText
                }).ToArray()
            });
        }
Esempio n. 12
0
        private List <JumpListHtmlParser> GetAllList()
        {
            var list = new List <JumpListHtmlParser>();

            using var requester = new HttpRequester();
            var idx = 0;

            do
            {
                var HtmlStr = requester.Request(
                    $"http://300report.jumpw.com/list.html?name={MsgDTO.Msg}&index={idx}");

                var listParser = new JumpListHtmlParser();
                listParser.Load(HtmlStr);

                var count = listParser.Matches.Count;
                if (count == 0)
                {
                    break;
                }

                idx += count;
                list.Add(listParser);
            }while (true);

            return(list);
        }
Esempio n. 13
0
        public async Task RequestUserAgentString()
        {
            if (Helper.IsNetworkAvailable())
            {
                var agent   = "MyAgent";
                var http    = new HttpRequester(agent);
                var request = new Request();
                request.Address = new Url("http://httpbin.org/user-agent");
                request.Method  = HttpMethod.Get;

                using (var response = await http.RequestAsync(request, CancellationToken.None))
                {
                    Assert.IsNotNull(response);
                    Assert.AreEqual(200, (int)response.StatusCode);
                    Assert.IsTrue(response.Content.CanRead);
                    Assert.IsTrue(response.Headers.Count > 0);

                    var stream = new StreamReader(response.Content);
                    Assert.IsNotNull(stream);

                    var content = stream.ReadToEnd();
                    Assert.IsTrue(content.Length > 0);
                    Assert.AreEqual("{\n  \"user-agent\": \"" + agent + "\"\n}\n", content);
                }
            }
        }
Esempio n. 14
0
        public override async Task <IEnumerable <MovieDto> > GetMoviesByNameAsync(string name)
        {
            var  pageIndex  = 0;
            bool keepSearch = true;

            var moviesSearchResult = new List <MovieDto>();

            var tokenizedName = name.Split(' ');

            while (keepSearch)
            {
                pageIndex++;

                var doc = await HttpRequester.GetHtmlDocumentAsync(htmlUrlProvider.GetMovieSearchByNameUrl(name, pageIndex));

                var movieDtos = GetYtsHtmlMovieLiteDtos(doc.DocumentNode);

                if (movieDtos.Any())
                {
                    moviesSearchResult.AddRange(movieDtos.Where(m => m.Title.ToLower().ContainsWords(tokenizedName)));
                }
                else
                {
                    keepSearch = false;
                }
            }

            return(moviesSearchResult);
        }
Esempio n. 15
0
        public async Task AsyncHttpGetRequest()
        {
            if (Helper.IsNetworkAvailable())
            {
                var http    = new HttpRequester();
                var request = new Request();
                request.Address = new Url("http://httpbin.org/robots.txt");
                request.Method  = HttpMethod.Get;

                using (var response = http.RequestAsync(request, CancellationToken.None))
                {
                    Assert.IsNotNull(response);
                    Assert.IsFalse(response.IsCompleted);

                    var result = await response;

                    Assert.IsTrue(response.IsCompleted);
                    Assert.IsTrue(result.Content.CanRead);
                    Assert.IsTrue(result.Headers.Count > 0);

                    var content = new StreamReader(result.Content);
                    Assert.AreEqual("User-agent: *\nDisallow: /deny\n", content.ReadToEnd());
                }
            }
        }
Esempio n. 16
0
        public static void Main()
        {
            var baseUrl = "http://localhost:37328/api/";
            var requester = new HttpRequester(baseUrl);

            var newStudent = new Student()
            {
                FirstName = "Vladimir",
                LastName = "Georgiev"
            };

            var createStudentTask = requester.PostAsync<Student>("students", newStudent);
            createStudentTask.GetAwaiter()
                             .OnCompleted(() =>
                             {
                                 Console.WriteLine("Student {0} created!", createStudentTask.Result.FullName);
                                 var students = requester.Get<IEnumerable<Student>>("students");
                                 foreach (var student in students)
                                 {
                                     Console.WriteLine(student.FullName);
                                 }
                             });
            while (true)
            {
                Console.ReadLine();
            }
        }
Esempio n. 17
0
        private MovieDto GetYtsHtmlMovieLiteDto(string movieHtml, bool withSynopsis = false, bool withBackgroundImage = false)
        {
            var doc = new HtmlAgilityPack.HtmlDocument();

            doc.LoadHtml(movieHtml);

            var movieId = htmlUrlProvider.GetMovieId(doc.DocumentNode.SelectSingleNode("/*[contains(@class, 'browse-movie-link')]")?.Attributes["href"].Value);

            string synopsis        = "";
            string backgroundImage = "";

            if (withSynopsis || withBackgroundImage)
            {
                var detailsDoc = HttpRequester.GetHtmlDocumentAsync(htmlUrlProvider.GetMovieDetailsUrl(movieId)).Result;
                synopsis        = withSynopsis ? detailsDoc.DocumentNode.SelectNodes("//div[@id='synopsis']//p")?.First().InnerText : string.Empty;
                backgroundImage = withBackgroundImage ? htmlUrlProvider.GetImageUrl(detailsDoc.DocumentNode.SelectSingleNode("//a[contains(@class, 'screenshot-group')]").Attributes["href"].Value) : string.Empty;
            }

            // XPATH : '/a[...]' = search a at fist level of doc, //img[...] search img recursivily in doc
            return(new MovieDto()
            {
                CoverImageUrl = htmlUrlProvider.GetImageUrl(doc.DocumentNode.SelectSingleNode("//img[contains(@class, 'img-responsive')]")?.Attributes["src"].Value),
                Id = movieId,
                Synopsis = synopsis,
                BackgroundImageUrl = backgroundImage,
                Title = doc.DocumentNode.SelectSingleNode("//*[contains(@class, 'browse-movie-title')]")?.InnerText,
                Year = doc.DocumentNode.SelectSingleNode("//*[contains(@class, 'browse-movie-year')]")?.InnerText,
                Rating = doc.DocumentNode.SelectSingleNode("//*[contains(@class, 'rating')]")?.InnerText.Replace("/ 10", "").Trim()
            });
        }
Esempio n. 18
0
        public Access_Token RequestAccessToken(string code)
        {
            Access_Token token = new Access_Token();

            token.Request_Time = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);

            if (this.Open_Key == null)
            {
                throw new Exception("Didn't find app key configuration for Mall Type ID:" + this.Mall_Type_ID);
            }

            String auth_host          = this.Open_Key.Auth_Main_Url;
            NameValueCollection paras = new NameValueCollection();

            paras.Add("grant_type", "authorization_code");
            paras.Add("code", code);
            paras.Add("client_id", this.Open_Key.AppKey);
            paras.Add("client_secret", this.Open_Key.AppSecret);
            paras.Add("redirect_uri", this.Open_Key.CallBack_Url);

            string response = HttpRequester.PostHttpRequest(this.Open_Key.Auth_Main_Url + "/token", paras);
            //string response = KM.JXC.Common.Util.HttpWebRequester.PostHttpRequest(this.Open_Key.Auth_Main_Url + "/token", paras);

            JObject json = JObject.Parse(response);

            token.Access_Token1  = (string)json["access_token"];
            token.Expirse_In     = (int)json["expires_in"];
            token.Mall_Type_ID   = this.Mall_Type_ID;
            token.Mall_User_ID   = (string)json["taobao_user_id"];
            token.Mall_User_Name = (string)json["taobao_user_nick"];
            token.Refresh_Token  = (string)json["refresh_token"];
            token.RExpirse_In    = (int)json["re_expires_in"];
            return(token);
        }
Esempio n. 19
0
        public async Task SimpleHttpPutRequest()
        {
            if (Helper.IsNetworkAvailable())
            {
                var http    = new HttpRequester();
                var request = new Request();
                request.Address = new Url("http://httpbin.org/put");
                request.Method  = HttpMethod.Put;
                request.Content = Helper.StreamFromString("PUT THIS THING BACK");

                using (var response = await http.RequestAsync(request, CancellationToken.None))
                {
                    Assert.IsNotNull(response);
                    Assert.AreEqual(200, (int)response.StatusCode);
                    Assert.IsTrue(response.Content.CanRead);
                    Assert.IsTrue(response.Headers.Count > 0);

                    var stream = new StreamReader(response.Content);
                    Assert.IsNotNull(stream);

                    var content = stream.ReadToEnd();
                    Assert.IsTrue(content.Length > 0);
                    Assert.IsTrue(content.Contains("\"data\": \"PUT THIS THING BACK\""));
                }
            }
        }
Esempio n. 20
0
        public IUrlInfo GetInfo(string url)
        {
            if (url == null)
            {
                throw new ArgumentNullException(nameof(url));
            }

            url = url.Trim();

            if (!new Regex(YoutuberRegexp).Match(url).Success)
            {
                throw new Exception("Link is not valid for youtube video");
            }

            url = UrlFormatter.RemoveParametersFromUrl(url);

            IEnumerable <VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(url);
            VideoInfo videoInfo = videoInfos.First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 360);

            Headers headers       = HttpRequester.GetHeaders(videoInfo.DownloadUrl);
            var     artistAndSong = GetArtistAndSongName(videoInfo.Title);

            return(new UrlInfo()
            {
                Artist = artistAndSong.Artist,
                Song = artistAndSong.Song,
                ContentLength = headers.ContentLenght,
                VideoId = UrlFormatter.GetYoutubeVideoIdentifier(url),
            });
        }
Esempio n. 21
0
        public async Task Invoke(HttpContext context)
        {
            //获取cookie中的token
            string token;

            context.Request.Cookies.TryGetValue("Token", out token);

            //如果没有token,肯定是不成功的
            if (string.IsNullOrWhiteSpace(token))
            {
                RedirectLoginSite(context);

                return;
            }

            //校验token是否有效
            HttpRequester requester = new HttpRequester(_configuration);

            context.Request.Headers.TryAdd("Token", token);

            var response = await requester.GetResponse("Auth_Validate", context.Request);

            if (response.Data != null && response.Data.IsSuccessStatusCode)
            {
                await _next.Invoke(context);
            }
            else
            {
                RedirectLoginSite(context);
            }
        }
        public static void HttpRequesterTest()
        {
            //var client = new HttpRequester("https://weihanli.xyz");
            //var result = client.Execute();
            //Console.WriteLine(result);
            //client = new HttpRequest(PostUploadFileUrl, HttpMethod.Post);
            //client.WithFile(@"C:\Users\liweihan.TUHU\Pictures\temp\7604648.jpg");
            //result = client.Execute();
            //Console.WriteLine(result);

            //var response1 = new HttpRequester("https://initwords.com/")
            //    .ExecuteForResponse();
            //var sessionId = response1.Cookies["JSESSIONID"]?.Value ?? "E641209D81307143F8B2482B7B2C6ED2";

            //var client = new HttpRequester("https://initwords.com/login/authless/ajaxLogin.do", HttpMethod.Post);
            //client
            //    .WithHeaders(new Dictionary<string, string>
            //    {
            //        { "em-tokencode","a287f418-ed57-439c-bdb8-734baa00d9e4" },
            //        { "em-usercode","a01836e9-f566-46c5-b3df-528c65e78dbd" },
            //        {"cookie", $"Hm_lvt_49a5957871e8051bc1a873596375812d=1519034509; JSESSIONID=E641209D81307143F8B2482B7B2C6ED2; Hm_lpvt_49a5957871e8051bc1a873596375812d=1519034755" },
            //        { "origin", "https://initwords.com" },
            //        { "referer", "https://initwords.com/" },
            //        { "x-requested-with", "XMLHttpRequest" }
            //    })
            //    .WithParameters(new Dictionary<string, string>
            //    {
            //        { "loginType", "studentLogin" },
            //        { "siteName", "xfinit" },
            //        { "userId", "lby13460426337"},
            //        { "userPwd", "lby13460426337" }
            //    })
            //    .WithUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36");
            //var response = client.Execute();
            //Console.WriteLine(response);

            var activateClient = new HttpRequester("https://initwords.com/book/ajaxRegisterBook.do", HttpMethod.Post);

            activateClient.WithHeaders(new Dictionary <string, string>
            {
                { "em-tokencode", "a287f418-ed57-439c-bdb8-734baa00d9e4" },
                { "em-usercode", "a01836e9-f566-46c5-b3df-528c65e78dbd" },
                { "cookie", $"Hm_lvt_49a5957871e8051bc1a873596375812d=1519034509; JSESSIONID=E641209D81307143F8B2482B7B2C6ED2; Hm_lpvt_49a5957871e8051bc1a873596375812d=1519034755" },
                { "origin", "https://initwords.com" },
                { "referer", "https://initwords.com/" },
                { "x-requested-with", "XMLHttpRequest" }
            })
            .WithFormParameters(new Dictionary <string, string>
            {
                { "moduleCode", "8a108cb74c7ae17a014c7d671d430771" },
                { "cardNo", "20180218018071452273218" },
                { "cardPwd", "bz6Bj568" },
                { "userCode", "a01836e9-f566-46c5-b3df-528c65e78dbd" }
            })
            .WithUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36");
            var result = activateClient.Execute <TempResponseEntity>();

            Console.Write(result);
        }
Esempio n. 23
0
        public PublicApiDemo(HttpClient client)
        {
            string baseUrl   = Environment.GetEnvironmentVariable("BaseUrl");
            var    config    = new ClientConfiguration(baseUrl, null, null, null);
            var    requester = new HttpRequester(client);

            this.client = new PublicApiClient(requester, config);
        }
Esempio n. 24
0
        public override async Task <IEnumerable <MovieDto> > GetSuggestedMoviesAsync(int nbMovies)
        {
            var doc = await HttpRequester.GetHtmlDocumentAsync(htmlUrlProvider.GetSuggestedMoviesUrl());

            var movieDtos = GetYtsHtmlMovieLiteDtos(doc.DocumentNode, true, true);

            return(movieDtos.Where(m => !string.IsNullOrEmpty(m.Synopsis)).Take(nbMovies));
        }
Esempio n. 25
0
        public override async Task <IEnumerable <MovieDto> > GetLastMoviesByGenreAsync(int nbMovies, string genre)
        {
            var doc = await HttpRequester.GetHtmlDocumentAsync(htmlUrlProvider.GetLastMoviesByGenreUrl(genre));

            var movieDtos = GetYtsHtmlMovieLiteDtos(doc.DocumentNode);

            return(movieDtos.Take(nbMovies));
        }
Esempio n. 26
0
        private string GetTorrentLink(string moviePageUrl)
        {
            var doc = HttpRequester.GetHtmlDocumentAsync(moviePageUrl).Result;

            var magnetNode = doc.DocumentNode.SelectSingleNode("//div[@class='btn-magnet']/a");

            return(magnetNode != null ? magnetNode.Attributes["href"].Value : null);
        }
Esempio n. 27
0
 /// <summary>
 /// Initialises a <see cref="PUBGStatsClient"/>.
 /// </summary>
 /// <param name="apiKey">Your tracker network API key. (https://pubgtracker.com/site-api)</param>
 /// <param name="throttle">
 /// Enable or disable throttling, pubgtracker wants to have ~1 request per sec. It is
 /// recommended to keep this enabled.
 /// </param>
 public PUBGStatsClient(string apiKey, bool throttle = true)
 {
     if (string.IsNullOrEmpty(apiKey))
     {
         throw new ArgumentException("API key cannot be empty.");
     }
     _httpRequester = throttle ? new HttpRequesterThrottle(apiKey) : new HttpRequester(apiKey);
 }
Esempio n. 28
0
        protected internal override void Start()
        {
            _md5FileUrl = _downloader.GetFullUrl() + ".md5";
            var request = new HttpRequester(_md5FileUrl);

            request.SetFinishCallback(OnFinishRequest);
            request.Start();
        }
Esempio n. 29
0
        private IConfiguration InitConfig()
        {
            var userAgent = _userAgent.GetItem();
            var requester = new HttpRequester(userAgent);

            requester.Headers["User-Agent"] = userAgent;
            requester.Timeout = _timeOut;
            return(Configuration.Default.WithDefaultLoader(requesters: new[] { requester }));
        }
Esempio n. 30
0
        protected InfluxDbClient(HttpRequester requester)
        {
            Ensure.That(requester, nameof(requester)).IsNotNull();

            Requester = requester;
            InfluxPointsSerializer = new LineProtocolInfluxPointsSerializer();
            DefaultWriteOptions = CreateDefaultWriteOptions();
            WriteOptionsUrlArgsBuilder = new WriteOptionsUrlArgsBuilder();
        }
Esempio n. 31
0
        public IBrowsingContext GetNew()
        {
            var requester = new HttpRequester();

            requester.Headers["User-Agent"] = "Mozilla / 5.0(Windows; U; Windows NT 6.1; en - US; rv: 1.9.0.9) Gecko / 2009042410 Firefox / 3.0.9 Wyzo / 3.0.3" + Guid.NewGuid().ToString().Replace("-", "");
            var configuration = Configuration.Default.WithDefaultLoader(requesters: new[] { requester });
            var brContext     = BrowsingContext.New(configuration);

            return(brContext);
        }
Esempio n. 32
0
        public override async Task <IEnumerable <MovieDto> > GetMoviesByGenreAsync(string genre, int page)
        {
            var pageIndex = page <= 0 ? 1 : page;

            var doc = await HttpRequester.GetHtmlDocumentAsync(htmlUrlProvider.GetMovieSearchByGenreUrl(genre, pageIndex));

            var movieDtos = GetYtsHtmlMovieLiteDtos(doc.DocumentNode);

            return(movieDtos);
        }
Esempio n. 33
0
        public CouchDbTests()
        {
            _dbRequester = HttpRequester.Create(DbUrlWithCredentials);
            var head = _dbRequester.HeadAsync().Result;

            if (head.IsSuccess)
            {
                _dbRequester.DeleteAsync().Wait();
            }
        }
Esempio n. 34
0
        public async Task ShouldReturnCorrectContent(string absolute, string relative, Type typeOfResponse)
        {
            var application = new Application(new Uri(absolute, UriKind.Absolute));
            var request     = new HttpRequest(relative);
            var requester   = new HttpRequester();

            var response = await requester.MakeRequest(request, application);

            Assert.That(response.Body, Is.TypeOf(typeOfResponse));
        }
Esempio n. 35
0
        static void Main()
        {
            var baseUrl = "http://localhost:12243/";
            var contentType = "application/json";
            var requester = new HttpRequester(baseUrl, contentType);

            // Test album Creation
            Album album = new Album { Producer = "Pesho", Title = "Testov album", ReleaseDate = DateTime.Now };
            requester.Post<Album>("api/album", album);
            Console.WriteLine("Simple Album added!");

            Song song = new Song { Genre = "RnB", Title = "Shake it!", Year = DateTime.Now.AddYears(-20) };
            Artist artist = new Artist { Name = "Pesho Zlia", BirthDate = new DateTime(1950, 1, 1), Country = "Germany" };
            album.Songs.Add(song);
            album.Artists.Add(artist);

            requester.Post<Album>("api/album", album);
            Console.WriteLine("Album added!");

            // Test albums Retrieving
            var retrievedAlbums = requester.Get<IList<Album>>("api/album/");
            foreach (var retrievedAlbum in retrievedAlbums)
            {
                Console.WriteLine("Album found! Title:" + retrievedAlbum.Title);
            }

            // Test one album Retrieving
            var getedAlbum = requester.Get<Album>("api/album/" + retrievedAlbums[0].AlbumId);

            Console.WriteLine("First Album found! Title:" + getedAlbum.Title);

            // Test album updating

            getedAlbum.Title = "Updated Title";
            requester.Put<Album>("api/album/" + getedAlbum.AlbumId, getedAlbum);
            Console.WriteLine("Title updated!");

            // Check new title
            getedAlbum = requester.Get<Album>("api/album/" + retrievedAlbums[0].AlbumId);
            Console.WriteLine("First Album found! Title:" + getedAlbum.Title);

            // Add
            Album newAlbum = new Album { Producer = "Pesho", Title = "Testov album", ReleaseDate = DateTime.Now };

            //Delete the album!
            requester.Delete<Album>("api/album/" + getedAlbum.AlbumId, getedAlbum);
            Console.WriteLine("Album deleted");
        }
 public YandexPredictor(HttpRequester httpRequester)
 {
     _httpRequester = httpRequester;
 }
 public YandexSpeller(HttpRequester httpRequester)
     : base(httpRequester)
 {
 }
 public KinopoiskParser(HttpRequester httpRequester)
 {
     _httpRequester = httpRequester;
 }
 protected SpellerAbstract(HttpRequester httpRequester)
 {
     HttpRequester = httpRequester;
 }
 public GooglePredictor(HttpRequester httpRequester)
 {
     _httpRequester = httpRequester;
 }
 public void SetUp()
 {
     this.requester = new HttpRequester();
     this.host = new WebRequesterHost();
     this.host.Open();
 }