Pessoal, gostaria de saber se alguém já teve a necessidade de pegar o proxy do sistema em que o programa está rodando.
Problema:
Aplicação disponibilizada via Java Web Start, que precisa se comunicar com um servidor web através de requisiçãos criada com o HttpClient. Entretanto alguns clientes usam proxy em suas redes.
A princípio o problema seria resolvido com a configuração de proxy no painel do Java Web Start, porém isso resolve apenas o problema na hora de baixar os arquivos necessáios ao programa web start.
Obrigado pela dica, porém meu problema é recuperar o proxy que pode existir na conexão de um cliente, seja através de algum mecanismo na aplicação cliente ou via a requisição enviada pelo cliente.
A configuração de uma requisição utilizando proxy já consegui fazer tranquilo, porém com código fixo para teste.
A configuração de proxy não deve estar fixa e sim dinâmica pois, a aplicacão vai rodar em várias cidades, em várias máquinas e em topologias de rede distintas. Há uma necessidade referente ao negócio de se comunicar com o servidor web, e caso a rede onde o programa esteja rodando utilize proxy, essa comunicação não será possível devido a falta desses parâmetros de conexão.
Espero ter explicado de forma mais clara o problema.
Após usar o método descrito no link acima, consegui pegar as configurações de proxy, porém as requisições seguintes ficavam travadas (requisições feitas com Commons httpClient), então após testes consegui uma forma mais simples e que não causou travamento.
Segue abaixo:
String result = ProxySelector.getDefault().select(new URI(“www.google.com”)).toString();
jandilson boa tarde cara, deixa eu ti pergunta deu certo o modo que vc conseguiu para achar o proxy do cliente ? Pois estou passando pelo mesmo problema fiz uma applet para UpLoad de arquivos, onde o cliente irá mandar os arquivos para o meu servidor, eu utilizo o HttpPost, mais não tenho ideia como faço para buscar e inserir o proxy na classe para que ele possa enviar os arquivos. Isso esta ocorrendo somente em um cliente, mais ele não irá liberar o acesso no firewall para meu ip, então preciso resolver isso. Abaixo segue um trecho da minha classe que pode ajudar a explicação.
HttpClient httpclient = getNewHttpClient();
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpPost httppost = new HttpPost(url);
CountingMultipartEntity mpEntity = new CountingMultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,
"boundary220394209402349823", Charset.forName("ISO-8859-1"), new CountingMultipartEntity.ProgressListener() {
public void transferred(long num) {
progBar.setValue((int)num);
if(progBar.getPercentComplete() == 1.0)
labelStatus.setText("Aguardando resposta");
}
});
...
HttpResponse response = httpclient.execute(httppost);
//Espera a resposta do Upload
HttpEntity resEntity = response.getEntity();