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"); } }
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); }
/// <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(); }
public CouchDbTests() { _dbRequester = new HttpRequester(DbUrl); var head = _dbRequester.HeadAsync().Result; if(head.IsSuccess) _dbRequester.DeleteAsync().Wait(); }
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); }
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); } }
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); }
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); }
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(); }
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; } }
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(" ", 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() }); }
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); }
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); } } }
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); }
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()); } } }
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(); } }
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() }); }
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); }
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\"")); } } }
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), }); }
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); }
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); }
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)); }
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)); }
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); }
/// <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); }
protected internal override void Start() { _md5FileUrl = _downloader.GetFullUrl() + ".md5"; var request = new HttpRequester(_md5FileUrl); request.SetFinishCallback(OnFinishRequest); request.Start(); }
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 })); }
protected InfluxDbClient(HttpRequester requester) { Ensure.That(requester, nameof(requester)).IsNotNull(); Requester = requester; InfluxPointsSerializer = new LineProtocolInfluxPointsSerializer(); DefaultWriteOptions = CreateDefaultWriteOptions(); WriteOptionsUrlArgsBuilder = new WriteOptionsUrlArgsBuilder(); }
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); }
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); }
public CouchDbTests() { _dbRequester = HttpRequester.Create(DbUrlWithCredentials); var head = _dbRequester.HeadAsync().Result; if (head.IsSuccess) { _dbRequester.DeleteAsync().Wait(); } }
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)); }
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(); }