Exemplo n.º 1
0
        public override void Process(BotData data)
        {
            //GET
            var blockRequest = new BlockRequest();

            blockRequest.Url = recaptchaUrlGet;
            blockRequest.SetCustomHeaders(new[] {
                $"UserAgent: {UserAgent}",
                "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
                "Accept-Language: en-US,en;q=0.9",
                "Accept-Encoding: gzip, deflate",
                "Upgrade-Insecure-Requests: 1",
                "Connection: keep-alive",
            });
            blockRequest.Process(data);

            var recaptchaToken = Regex.Match(ReplaceValues("<SOURCE>", data), "id=\"recaptcha-token\" value=\"(.*?)\">").Groups[1].Value;

            //POST
            blockRequest.PostData = $"v={Regex.Match(blockRequest.Url, "v=(.*?)&").Groups[1].Value}&reason=q&c={recaptchaToken}&k={Regex.Match(blockRequest.Url, "&k=(.*?)&").Groups[1].Value}&co={Regex.Match(blockRequest.Url, "&co=(.*?)&").Groups[1].Value}&hl=en&size=invisible&chr=%5B89%2C64%2C27%5D&vh=13599012192&bg={bg}";
            blockRequest.SetCustomHeaders(new[] {
                $"UserAgent: {UserAgent}",
                "Accept: */*",
                "Accept-encoding: gzip, deflate, br",
                "accept-language: fa,en;q=0.9,en-GB;q=0.8,en-US;q=0.7",
                $"Content-Length: {blockRequest.PostData.Length}",
                "Connection: keep-alive",
                "origin: https://www.google.com",
                $"referer: {blockRequest.Url}",
                "sec-fetch-dest: empty",
                "sec-fetch-mode: cors",
                "sec-fetch-site: same-origin",
            });
            blockRequest.Url    = recaptchaUrlPost;
            blockRequest.Method = HttpMethod.POST;
            blockRequest.Process(data);

            var rresp = Regex.Match(ReplaceValues("<SOURCE>", data), "\"rresp\",\"(.*?)\"").Groups[1].Value;

            InsertVariable(data, false, rresp, VariableName);
        }
 private void customHeadersRTB_LostFocus(object sender, System.Windows.RoutedEventArgs e)
 {
     vm.SetCustomHeaders(customHeadersRTB.Lines());
 }