1
resposta

Como fazer uma requisição GET utilizando proxy?

Olá, como dito no tópico anterior, estava tendo problemas com a requisição HTTP do exercício e descobri que era por causa do proxy da rede. Revirei o stackoverflow e alguns outros fóruns, mas ainda não consegui fazer meu app se conectar pelo meu proxy. Todas as modificações foram feitas no ListagemViewModel Primeiro criei duas variáveis globais com meu login e senha do proxy e depois utilizei o seguinte código para configurar as credenciais:

WebProxy proxy = new WebProxy
        {
            Address = new Uri(URL_GET_VEICULOS),
            BypassProxyOnLocal = false,
            UseDefaultCredentials = false,

            // *** These creds are given to the proxy server, not the web server ***
            Credentials = new NetworkCredential(
                 userName: proxyUserName,
                 password: proxyPassword)
        };

Depois em GetVeiculos() eu coloquei um handler e criei o HttpClient utilizando ele.

public async Task GetVeiculos()
        {
            var handler = new HttpClientHandler()
            {
                Proxy = proxy,
                PreAuthenticate = true,
                UseDefaultCredentials = false,

        };
            HttpClient cliente = new HttpClient(handler);
            var resultado = await cliente.GetStringAsync(URL_GET_VEICULOS);

        }

A exceção retornada foi

System.Net.Http.HttpRequestException
  Message=An error occurred while sending the request.
  Source=mscorlib

A StackTrace é muito grande e excedeu o limite de caracteres daqui, então coloquei os detalhes da exceção em um .txt que pode ser visto nesse link: https://drive.google.com/file/d/1LgRr7BySnxN5aJCBptCYKzRvp1gPHOTw/view?usp=sharing


Acredito que o erro possa estar no primeiro trecho de código que eu postei, pois ao criar a URI eu passei como parâmetro apenas a URL e não a URL:URN, mas não sei o que poderia ser essa URN. Enfim, mas não tenho certeza se o erro se encontra mesmo nesse trecho, se alguém com mais experiência puder me ajudar, eu agradeceria muito :)

1 resposta

Olá Matusalem, tudo certo?

Olha, nunca usei proxy numa aplicação Xamarin, mas encontrei um artigo no Medium que trata exatamente esse caso.

Mas antes que eu me enrole com a explicação, recomendo que você dê uma olhada nele.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software