Analisando propostas

Procuro um Desenvolvedor com alta experiencia em C# para fazer um codigo que está em C# incompleto funcionar

Publicado em 08 de Junho de 2024 dias na TI e Programação

Sobre este projeto

Aberto

Tenho um codigo source code que lida com requests no site da betano e preciso fazer ele funcionar, nao esta totalmente completo mas a estrutura está montada se for uma pessoa com alta experiencia em C# da conta, eu quero que funcione exatamente como a estrutura está que é por requests, vou deixar um exemplo de como está uma parte da estrutura e se caso achar que tem capacidade pra fazer esse projeto posso enviar o restante:        public async Task<string> VerificarBonusBetanoAsync(
            IList<object> row,
            int colunaLogin,
            int colunaSenha)
        {
            var resultadoOk = false;
            var email = row.Count >= 1 ? row[colunaLogin].ToString().Trim().ToLower() : "";
            var senha = row.Count >= 2 ? row[colunaSenha].ToString().Trim() : "";
            //if(senha != "")
            //{
            //   
            //}
            while (!resultadoOk)
            {
                try
                {
                    var proxyRetorno = listaProxy.OrderBy(x => Guid.NewGuid()).Select(f => new ProxyGoLoginResponse()
                    {
                        Proxy = new Proxy()
                        {
                            Host = f.Host,
                            Port = f.Port,
                            Username = f.Username,
                            Password = f.Password
                        }
                    }).FirstOrDefault();

                    var proxy = proxyRetorno?.Proxy;

                    var proxyUri = $"http://{proxy.Host}:{proxy.Port}";

                    var handler = new HttpClientHandler
                    {
                        Proxy = new WebProxy(proxyUri)
                        {
                            Credentials = new NetworkCredential(proxy.Username, proxy.Password)
                        },
                        UseProxy = true,
                    };

                    var client = new HttpClient(handler);
                    client.Timeout = TimeSpan.FromSeconds(10); // Aumentando para 200 segundos
                    var request = new HttpRequestMessage(HttpMethod.Get, "https://www.betano.com/pt-pt/promotions");
                    var userAgents = new string[]
                    {
                    "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/119.0.6045.206 Mobile/15E148 Safari/604.1",
                        //"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1",
                        //userAgentAleatorio
                    };

                    var userAgent = userAgents[0];
                    client.DefaultRequestHeaders.Add("sec-ch-device-memory", "2");
                    client.DefaultRequestHeaders.Add("sec-ch-ua", "\"Chromium\";v=\"119\", \"CriOS\";v=\"119\", \"Mobile Safari\";v=\"604\"");
                    client.DefaultRequestHeaders.Add("sec-ch-ua-arch", "\"ARM\"");
                    client.DefaultRequestHeaders.Add("sec-ch-ua-full-version-list", "\"Chromium\";v=\"119.0.6045.206\", \"CriOS\";v=\"119.0.6045.206\", \"Mobile Safari\";v=\"604.1.15\"");
                    client.DefaultRequestHeaders.Add("sec-ch-ua-mobile", "?1");
                    client.DefaultRequestHeaders.Add("sec-ch-ua-model", "\"iPhone\"");
                    client.DefaultRequestHeaders.Add("sec-ch-ua-platform", "\"iOS\"");
                    client.DefaultRequestHeaders.Add("sec-fetch-dest", "empty");
                    client.DefaultRequestHeaders.Add("sec-fetch-mode", "cors");
                    client.DefaultRequestHeaders.Add("sec-fetch-site", "same-origin");
                    client.DefaultRequestHeaders.Add("User-Agent", userAgent);
                    client.DefaultRequestHeaders.Add("Accept-Language", "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7");
                    client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, br");
                    client.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                    client.DefaultRequestHeaders.Add("Referer", "https://br.betano.com/myaccount/register");
                    client.DefaultRequestHeaders.Add("DNT", "1");

                    var tokens = await GetTokensBetanoAsync(
                        handler,
                        client);

                    client.DefaultRequestHeaders.Add(
                        "token1",
                        tokens.token1);

                    client.DefaultRequestHeaders.Add(
                        "token2",
                        tokens.token2);

                    request = new HttpRequestMessage(HttpMethod.Post, $"https://br.betano.com/myaccount/login?user={email}");
                    var content = new
                    {
                        ParentUrl = "https://br.betano.com/",
                        MultifactorAuthenticationCode = (string)null,
                        Username = email,
                        Password = senha
                    };

Contexto Geral do Projeto

Tenho um codigo source code que lida com requests no site da betano e preciso fazer ele funcionar, nao esta totalmente completo mas a estrutura está montada se for uma pessoa com alta experiencia em C# da conta, eu quero que funcione exatamente como a estrutura está que é por requests, vou deixar um exemplo de como está uma parte da estrutura e se caso achar que tem capacidade pra fazer esse projeto posso enviar o restante: public async Task<string> VerificarBonusBetanoAsync( IList<object> row, int colunaLogin, int colunaSenha) { var resultadoOk = false; var email = row.Count >= 1 ? row[colunaLogin].ToString().Trim().ToLower() : ""; var senha = row.Count >= 2 ? row[colunaSenha].ToString().Trim() : ""; //if(senha != "") //{ // //} while (!resultadoOk) { try { var proxyRetorno = listaProxy.OrderBy(x => Guid.NewGuid()).Select(f => new ProxyGoLoginResponse() { Proxy = new Proxy() { Host = f.Host, Port = f.Port, Username = f.Username, Password = f.Password } }).FirstOrDefault(); var proxy = proxyRetorno?.Proxy; var proxyUri = $"http://{proxy.Host}:{proxy.Port}"; var handler = new HttpClientHandler { Proxy = new WebProxy(proxyUri) { Credentials = new NetworkCredential(proxy.Username, proxy.Password) }, UseProxy = true, }; var client = new HttpClient(handler); client.Timeout = TimeSpan.FromSeconds(10); // Aumentando para 200 segundos var request = new HttpRequestMessage(HttpMethod.Get, "https://www.betano.com/pt-pt/promotions"); var userAgents = new string[] { "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/119.0.6045.206 Mobile/15E148 Safari/604.1", //"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1", //userAgentAleatorio }; var userAgent = userAgents[0]; client.DefaultRequestHeaders.Add("sec-ch-device-memory", "2"); client.DefaultRequestHeaders.Add("sec-ch-ua", "\"Chromium\";v=\"119\", \"CriOS\";v=\"119\", \"Mobile Safari\";v=\"604\""); client.DefaultRequestHeaders.Add("sec-ch-ua-arch", "\"ARM\""); client.DefaultRequestHeaders.Add("sec-ch-ua-full-version-list", "\"Chromium\";v=\"119.0.6045.206\", \"CriOS\";v=\"119.0.6045.206\", \"Mobile Safari\";v=\"604.1.15\""); client.DefaultRequestHeaders.Add("sec-ch-ua-mobile", "?1"); client.DefaultRequestHeaders.Add("sec-ch-ua-model", "\"iPhone\""); client.DefaultRequestHeaders.Add("sec-ch-ua-platform", "\"iOS\""); client.DefaultRequestHeaders.Add("sec-fetch-dest", "empty"); client.DefaultRequestHeaders.Add("sec-fetch-mode", "cors"); client.DefaultRequestHeaders.Add("sec-fetch-site", "same-origin"); client.DefaultRequestHeaders.Add("User-Agent", userAgent); client.DefaultRequestHeaders.Add("Accept-Language", "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7"); client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, br"); client.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); client.DefaultRequestHeaders.Add("Referer", "https://br.betano.com/myaccount/register"); client.DefaultRequestHeaders.Add("DNT", "1"); var tokens = await GetTokensBetanoAsync( handler, client); client.DefaultRequestHeaders.Add( "token1", tokens.token1); client.DefaultRequestHeaders.Add( "token2", tokens.token2); request = new HttpRequestMessage(HttpMethod.Post, $"https://br.betano.com/myaccount/login?user={email}"); var content = new { ParentUrl = "https://br.betano.com/", MultifactorAuthenticationCode = (string)null, Username = email, Password = senha };

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por V. C. D.