public HttpRequestProcessor(IRequestDelay delay, HttpClient httpClient, HttpClientHandler httpHandler, IInstaLogger logger) { _delay = delay; Client = httpClient; HttpHandler = httpHandler; _logger = logger; }
/// <summary> /// Set delay between requests. Useful when API supposed to be used for mass-bombing. /// </summary> /// <param name="delay">Timespan delay</param> /// <returns> /// API Builder /// </returns> public IInstaApiBuilder SetRequestDelay(IRequestDelay delay) { if (delay == null) { delay = RequestDelay.Empty(); } _delay = delay; return(this); }
public HttpRequestProcessor(IRequestDelay delay, HttpClient httpClient, HttpClientHandler httpHandler, ApiRequestMessage requestMessage, IPinLogger logger) { _delay = delay; Client = httpClient; HttpHandler = httpHandler; RequestMessage = requestMessage; _logger = logger; }
private static IInstaApi CreateInstaApi(byte[] cookies, int requestDelayMin, int requestDelayMax) { IRequestDelay delay = RequestDelay.FromSeconds(requestDelayMin, requestDelayMax); var instaAPI = InstaApiBuilder.CreateBuilder() .SetRequestDelay(delay) .Build(); instaAPI.LoadStateDataFromStream(new MemoryStream(cookies)); return(instaAPI); }
private static IInstaApi CreateInstaApi(string username, string password, int requestDelayMin, int requestDelayMax) { UserSessionData userSession = new UserSessionData { UserName = username, Password = password }; // if you want to set custom device (user-agent) please check this: // https://github.com/ramtinak/InstagramApiSharp/wiki/Set-custom-device(user-agent) IRequestDelay delay = RequestDelay.FromSeconds(requestDelayMin, requestDelayMax); return(InstaApiBuilder.CreateBuilder() .SetUser(userSession) .SetRequestDelay(delay) .Build()); }
private async Task <bool> Login(string name, string password) { _userSession = new UserSessionData { UserName = name, Password = password }; IRequestDelay delay = RequestDelay.FromSeconds(2, 2); _instaApi = InstaApiBuilder.CreateBuilder() .SetUser(_userSession) .UseLogger(new DebugLogger(LogLevel.Exceptions)) .SetRequestDelay(delay) .Build(); IResult <InstaLoginResult> loggedIn = await _instaApi.LoginAsync(); return(loggedIn.Succeeded); }
/// <summary> /// Set delay between requests. Useful when API supposed to be used for mass-bombing. /// </summary> /// <param name="delay">Timespan delay</param> /// <returns> /// API Builder /// </returns> public IInstaApiBuilder SetRequestDelay(IRequestDelay delay) { _delay = delay; return(this); }
private static async Task <(bool, string)> LoginIfUnauthorised(IInstaApi api, IRequestDelay delay) { delay.Disable(); var logInResult = await api.LoginAsync(); delay.Enable(); return(!logInResult.Succeeded ? (false, $"unable to login {logInResult.Info.Message}") : (true, String.Empty)); }
private static IInstaApi GetApi(IRequestDelay delay, UserSessionData userSessionData) => InstaApiBuilder.CreateBuilder() .SetUser(userSessionData) .UseLogger(new DebugLogger(LogLevel.Exceptions)) // use logger for requests and debug messages .SetRequestDelay(delay) .Build();