public static string GetUrl(HidemyProxyParseSettings s) { var url = "https://hidemy.name/en/proxy-list/?a=0"; if (s.MaxTime != null) { var addStr = $"&maxtime={s.MaxTime}"; url += addStr; } if (s.TypeFlags != null) { var addStr = "&type="; var prType = s.TypeFlags.Value; if (prType.HasFlag(ProxyType.Http)) { addStr += "h"; } if (prType.HasFlag(ProxyType.Https)) { addStr += "s"; } if (prType.HasFlag(ProxyType.Socks4)) { addStr += "4"; } if (prType.HasFlag(ProxyType.Socks5)) { addStr += "5"; } url += addStr; } if (s.AnonymityFlags != null) { var addStr = "&anon="; var prAnon = s.AnonymityFlags.Value; if (prAnon.HasFlag(ProxyAnonymity.No)) { addStr += "1"; } if (prAnon.HasFlag(ProxyAnonymity.Low)) { addStr += "2"; } if (prAnon.HasFlag(ProxyAnonymity.Medium)) { addStr += "3"; } if (prAnon.HasFlag(ProxyAnonymity.High)) { addStr += "4"; } url += addStr; } return(url); }
public async Task <IList <Proxy> > Parse(HidemyProxyParseSettings settings) { var hidemyUrl = GetUrl(settings); return(await Parse(hidemyUrl, settings.Limit)); }