Tenho um problema, me pediram para fazer uma classe, pra receber uma requisição bem sucedida desse site:
http://www.google.com.br/search?q=java
Problema é que nao faço ideia de como fazer… se alguém souber favor me ajudem! Valeu!
Tenho um problema, me pediram para fazer uma classe, pra receber uma requisição bem sucedida desse site:
http://www.google.com.br/search?q=java
Problema é que nao faço ideia de como fazer… se alguém souber favor me ajudem! Valeu!
Dá uma olhada nos tutorias deste site:
http://java.danieldestro.com.br
Lá tem todo o material de apoio.
[quote=hugalves]Tenho um problema, me pediram para fazer uma classe, pra receber uma requisição bem sucedida desse site:
http://www.google.com.br/search?q=java
Problema é que nao faço ideia de como fazer… se alguém souber favor me ajudem! Valeu![/quote]
O Google vai fazer uma requisição pra uma classe sua ??? Esquisito !!! Fica mais facil descrever “pra resolver o que” !!!
Não seria… a sua classe fazer uma requisição ao google e receber os dados da consulta?
Basicamente, uma requisição é um pedido. Em geral, quando falamos de requisição, falamos de requisição HTTP, ou seja, um pedido a um serviço de hipertexto, esperando de volta uma resposta. A especificação de Servlets trata das requisições e respostas HTTP.
Porém, você pode trabalhar com requisições sem trabalhar com servlets, por exemplo, por meio da classe URLConnection.
Ele falou que a resposta tinha que ser 200…
Então, faz assim. Pega as apostilas do meu site, principalmente sobre HTML e Java para Web e estude.
Para complementar, estude sobre o protocolo HTTP.
Peguei uma apostila boa, que faz uma requisicao desta forma. Testei e funciona legal! De qualquer forma, valeu a todos!
import java.net.InetSocketAddress;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
import java.nio.ByteBuffer;
import java.io.IOException;
public class socket {
public static void main(String[] args) {
Charset charset = Charset.forName("UTF-8");
SocketChannel channel = null;
try {
InetSocketAddress socketAddr = new InetSocketAddress(
"www.testeeaaerr.com.br", 80);
channel = SocketChannel.open(socketAddr);
channel.write(charset.encode("GET /index.htm\r\n\r\n"));
ByteBuffer buffer = ByteBuffer.allocate(2048);
while ((channel.read(buffer)) != -1) {
buffer.flip();
System.err.println(charset.decode(buffer));
buffer.clear();
}
} catch (IOException e) {
e.printStackTrace();
// TODO: handle exception
} finally {
if (channel != null) {
try {
channel.close();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
}
Você está fazendo na “unha”, porque abre um socket e escreve o protocolo.
Enfim, mas funciona!