Saudações
Tenho um servidor com 8 ips diferentes, e, preciso constantemente solicitar informações em um site que, limita requisições por ip. E minha demanda é maior do que o limite oferecido. Infelizmente eles não tem um plano pago para que eu possa fazer mais requisições.
Então, minha demanda, inicialmente, é atendida com 4 ou 5 ips.
Mas pra isso preciso fazer a solicitação de acordo com o InetAddress (se eu não me engano, representa o IP Address)
Já tentei via Socket mas ele não conecta, e se eu colo a URL no navegador vai
meu código atual é
for (InetAddress inetAddress : Collections.list(inetAddresses)) {
System.out.println(inetAddress);
String url = ""; // aqui vai a URL
//Socket socket = new Socket(url, 5434, inetAddress, 6545);
Socket socket = new Socket(url, 5434);
InputStream teste = socket.getInputStream();
BufferedReader t = new BufferedReader(new InputStreamReader(teste));
String linha = "";
linha = t.readLine();
System.out.println("OI MAE" + linha);
}
se alguém tiver alguma ideia.
desde já agradeço
Nao seria isso?
InetAddress add = InetAddress.getByName("www.uol.com.br");
abs,
Evandro
vou tentar isso, mas eu esqueci de postar o erro né,
quando eu estiver em casa eu gero o erro e posto aqui.
abraços
Boa noite
como prometido segue o erro
java.net.UnknownHostException: http://google.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:176)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at novamigracao.Main.main(Main.java:43)
se alguém tiver alguma idéia fico grato
PS: a URL do google é apenas para exemplificar
abraços
Cara fiz um teste aqui e deu certo, olha o exemplo
InetAddress address;
try {
address = InetAddress.getByName("www.google.com");
System.out.println(address.getHostName());
System.out.println(address.getHostAddress());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Isso aí imprimiu:
www.google.com
74.125.234.115
espero que ajude,
abraço,
Evandro
valeu Evandro, mas acho que eu não fui muito especifico.
o que eu quero fazer é o seguinte, eu tenho vários IPS no servidor, ou seja, IP da minha rede, e eu gostaria de “escolher” com qual ip eu vou fazer a requisição.
abraços
Olha eu mudei meu código, estou tentando de outra maneira,
eu peço desculpas, mas não posso divulgar o host.
esse é o código
for (NetworkInterface netint : Collections.list(nets)) {
System.out.println("\nDisplay name : " + netint.getDisplayName());
Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
for (InetAddress inetAddress : Collections.list(inetAddresses)) {
System.out.println(inetAddress);
String host = "host aqui";
URL url = new URL(host);
SocketAddress sa = new InetSocketAddress(inetAddress, 80);
Proxy proxy = new Proxy(Proxy.Type.HTTP, sa);
URLConnection conn = url.openConnection(proxy);
conn.connect();
System.out.println("Conectou sem erro.");
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); // essa é a linha 59, que da erro
String linha = "";
linha = t.readLine();
System.out.println("TESTE: " + linha);
}
}
e o erro
/174.37.39.143
Conectou sem erro.
java.io.FileNotFoundException: "host aqui"
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1610)
at novamigracao.Main.main(Main.java:59)
se agluem me der uma luz vou ficar mto grato
abracos