André L. S. Desenvolvimento de Softwares, Tecnologia e Games

23mar/102

Configurando acesso à internet via proxy em aplicações Java

Hoje tive um problema no meu trabalho onde um client, que roda via prompt de comando (Prompt do DOS), não conseguia acessar o servidor hospedado na internet, isso porque a empresa onde trabalho utiliza proxy.

Depois de algumas tentativas acabei achando duas soluções para resolver o problema de acesso: a primeira foi passar como parâmetros Java as configurações do proxy.

$ java -Dhttp.proxyHost=serv -Dhttp.proxyPort=porta -Dhttp.proxyUser=usu -Dhttp.proxyPassword=senha ClasseJava

-Dhttp.proxyHost = IP ou nome do servidor proxy
-Dhttp.proxyPort = Porta do proxy
-Dhttp.proxyUser = Usuário
-Dhttp.proxyPassword = Senha

Desta forma a classe ClasseJava terá acesso à internet através do proxy.

A outra forma foi inserir as configurações na própria classe:

public static void main(String[] args){
...
System.getProperties().put("proxySet", "true");
System.getProperties().put("http.proxyHost", "serv");
System.getProperties().put("http.proxyPort", "porta");
System.getProperties().put("http.proxyUser", "usuario");
System.getProperties().put("http.proxyPassword", "senha");
...
}

proxySet = Define se passará ou não por um servidor proxy
http.proxyHost = IP ou nome do servidor proxy
http.proxyPortt = Porta do proxy
http.proxyUse = Usuário
http.proxyPassword = Senha

Usando um destes recursos você poderá configurar sua aplicação para acessar à internet através de um proxy.

Espero ter ajudado. Até +! ;)

Comentários (2) Trackbacks (0)
  1. Olá, Edson. Obrigado pelo comentário!

    É possível sim, desde que a porta para conexão com o MySQL esteja liberada pelo proxy. Geralmente os admins. de rede só liberam as portas HTTP (80 e 8080), como a porta o MySQL é a 3306 (na instalação padrão), talvez você tenha que pedir acesso à esta porta também.

    []‘s

  2. Muito boa esta dica, estou procurando algo para acessar o MySQL externamente ‘a um proxy, ou seja, a minha aplicação opera via Desktop, e a base de dados está online (MySQL)… Desta forma é possível acessar normalmente? (Não tenho como testar atualmente, mas o que vc me diz, é possível desta forma?)


Deixar um comentário


Sem trackbacks