Problemas com HttpClient, Proxy e Https

4 respostas
dragondepth

Bom gente, estou tentando conectar a um site https na empresa onde trabalho. Só que para fazer isso,
precisa da autenticação do proxy. Até ai tudo bem. Quando faço um client.executemethod com algum site
https, ele da Conection is not Open. O estranho é que se faço uma requisição para algum site de http normal,
ele consegue conectar. Tentei fazer o teste em casa mesmo, sem proxy e td mais e funciona normal.
Estou tentando conectar a um site https e tentando executar um metodo post.
Vou colar o trecho de código aqui para que alguém possa me ajudar e dizer oq estou fazendo de errado ou
se tenho que fazer mais alguma coisa. Estou usando no trabalho o httpclient 3.0.

...
        HttpClient client = new HttpClient();
       
        client.getHostConfiguration().setProxy("proxy", port);
        client.getState().setProxyCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials("user", "pass"));

        PostMethod method = new PostMethod(url);

        method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
        new DefaultHttpMethodRetryHandler(3, false));

        
method.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);

        method.addParameter("user","user");
        method.addParameter("pass","pass");
        try {
        int status = client.executeMethod(method);
       ...

Eu realmente não sei o porque desse erro, mas desconfio que é algo relacionado ao proxy
ou algo relacionado a classe HttpURLConetion. Mas não tenho certeza.
Se alguém puder me dar uma luz!!! Eu ficaria muito agradecido!!!

4 Respostas

T

Se seu proxy for Microsoft (isso você pode checar com o pessoal de sua empresa; normalmente o proxy Microsoft é “Microsoft ISA Server” ou coisa parecida) você precisa ler isto:
http://hc.apache.org/httpclient-3.x/authentication.html#NTLM

dragondepth

Desculpe, mas não achei a solução nesse site que você passou.
Ja tentei de tudo! uheauhaehuaehuae
Não sei se eu tenho que usar algum outro tipo de classe para ajudar…
Por favor, me ajudem!!

T

Tá bom, vou pôr exatamente o que você tem de ler na referência que lhe passei.

Pedrosa

Tive um problema semelhante com WS e Proxy e resolvi assim:

System.setProperty (CommonsHttpMessageSender.HTTP_PROXY_HOST, ip);
System.setProperty(CommonsHttpMessageSender.HTTP_PROXY_PORT, porta);
Criado 12 de fevereiro de 2008
Ultima resposta 13 de fev. de 2008
Respostas 4
Participantes 3