public static async Task <byte[]> LoadArticle(string url, ICaptchaSolvingStrategy strategy) { var data = new SciHubData { Url = url }; try { await strategy.Initialize(); var result = await LoadArticleInternal(data, strategy); return(result); } catch { throw; } finally { await strategy.Finish(); } }