public RandomUserAgent() { var formattedUserAgentsLength = FormattedUserAgents.Length; formattedUserAgentsCircularList = new CircularList <int>(() => new UniqueRandomizer().GenerateRandom(formattedUserAgentsLength, 0, formattedUserAgentsLength)); templateFields = new Dictionary <String, Func <object> >(); templateFields.Add("AndroidVersion", () => $"{RandomizerHq.RandomInt(2, 6)}.{RandomizerHq.RandomInt(0, 4)}.{RandomizerHq.RandomInt(0, 5)}"); templateFields.Add("BaiduSpiderName", () => BaiduSpiderNames[RandomizerHq.RandomInt(0, BaiduSpiderNames.Length)]); templateFields.Add("BotVersion", () => { var value = RandomizerHq.RandomInt(200, 500).ToString(); return($"{value[0]}.{value[1]}.{value[2]}"); }); templateFields.Add("BlackBerryVersion", () => 9000 + 100 * RandomizerHq.RandomInt(1, 9) + 10 * RandomizerHq.RandomInt(1, 5)); templateFields.Add("FacebookBotName", () => FacebookBotNames[RandomizerHq.RandomInt(0, FacebookBotNames.Length)]); templateFields.Add("FacebookBotVersion", () => RandomizerHq.RandomInt(10, 21).ToString("0.0")); templateFields.Add("GenericVersion", () => $"{RandomizerHq.RandomInt(4, 7)}.{RandomizerHq.RandomInt(0, 6)}.{RandomizerHq.RandomInt(2, 7)}.{RandomizerHq.RandomInt(100, 666)}"); templateFields.Add("GoogleBotName", () => GoogleBotNames[RandomizerHq.RandomInt(0, GoogleBotNames.Length)]); templateFields.Add("IeVersion", () => IeVersions[RandomizerHq.RandomInt(0, IeVersions.Length)]); templateFields.Add("IOsVersion", () => $"{RandomizerHq.RandomInt(3, 7)}_{RandomizerHq.RandomInt(0, 4)}_{RandomizerHq.RandomInt(0, 5)}"); templateFields.Add("MozillaVersion", () => (RandomizerHq.RandomInt(30, 50) / 10).ToString("0.0")); templateFields.Add("OperaVersion", () => RandomizerHq.RandomInt(5, 10)); templateFields.Add("RvVersion", () => $"{RandomizerHq.RandomInt(36, 47)}.0"); templateFields.Add("SafariVersion", () => $"{RandomizerHq.RandomInt(333, 999)}.{RandomizerHq.RandomInt(1, 69)}"); templateFields.Add("WindowsVersion", () => WindowsVersions[RandomizerHq.RandomInt(0, WindowsVersions.Length)]); }
public string GetRandomElement() { var value = referersCircularList.Value; referersCircularList.Next(); var referer = referers[value]; var query = RandomizerHq.RandomString(RandomizerHq.RandomInt(6, 15)); return(referer.GetRandomElement(query)); }
public static FluentHeaderBuilder RandomFluentHeader(HttpMethod method, string urlPath, string host, bool appendRandomsToUrlPath = false, bool useGzip = false, int keepAliveTime = 0) { return(new FluentHeaderBuilder() .AddMethodWithConditionalExtraPath($"{urlPath}", method, RandomizerHq.RandomString(), appendRandomsToUrlPath) .Add(HttpRequestHeader.Host, host) .Add(HttpRequestHeader.CacheControl, "no-cache") .Add(HttpRequestHeader.UserAgent, RandomizerHq.RandomUserAgent()) .Add(HttpRequestHeader.Referer, RandomizerHq.RandomReferer()) .Add(HttpRequestHeader.Accept, "*/*") .AddConditional(HttpRequestHeader.KeepAlive, keepAliveTime, keepAliveTime > 0) .AddConditional(HttpRequestHeader.Connection, "keep-alive", keepAliveTime > 0) //.Add(HttpRequestHeader.ContentLength, 42) .AddConditional(HttpRequestHeader.AcceptEncoding, "gzip,deflate", useGzip)); }
public static Byte[] RandomByteArray(int count) { var data = new Byte[count]; // Fill an array with 0 to (count - 1) random bytes int idx = 0; while (idx < RandomizerHq.RandomInt(0, count - 1)) { data[idx++] = Convert.ToByte(RandomizerHq.RandomInt(Byte.MinValue, Byte.MaxValue)); } return(data); }