Como enviar um request para um site na web que não é um webservice?

Oi gente,

estou precisando fazer algo que é o seguinte, tem um site que preciso utilizá-lo para automatizar uma tarefa aqui da empresa, porém o site não disponibiliza um webservice.

Para exemplificar, imaginemos o site dos correios, lá tem o campo de input do CEP pra qualquer um consultar, agora imagine que eu precisar enviar via aplicação java desktop um CEP, enviar o submit para que o próprio site dos correios faça busca, e em seguida eu preciso ler um resultado lá na página dos correios.

Tem como eu fazer isso?

O exemplo dos correios foi só pra exemplificar, a questão é tem um form num site e preciso usá-lo através de um código java desktop.

Alguém pode me dar uma ajuda.

Grata.

Talvez seja possível fazer isso via Sockets. Dá pra enviar uma requisição POST via sockets normalmente. Só não sei dizer se vai dar pra preencher os campos do form tão facilmente assim. Uma pesquisa rapidinha no google te traz resultados interessantes. Até.

Ao submeter a consulta o site provavelmente gera uma url com os parametros. Se gera você pode usar essa url para setar os seus parametros de pesquisa e obter o código html de retorno.

Extrair as informações do código de retorno é que é o problema. Regex na veia.

Com esse código você consegue obter o código Html do site.
public void writeURL() throws IOException{
String s;
URL u=new URL(“http://www.uol.com.br”);
InputStream is;
is = u.openStream();
InputStreamReader ir;
BufferedReader in;

     ir = new InputStreamReader(is, "8080");
     in = new BufferedReader(ir);

     while ( (s = in.readLine()) != null)
     {
         System.out.println("Read: " + s);
     }
 }
 
 public static void main(String args[]) throws IOException{
	 TesteURL tu = new TesteURL();
	 tu.writeURL();
 }

Uma vez ouvi uns caras falando de Html parser mas não dei muita atenção, dê uma pesquisada nisso também se funcionar avisa agente aqui.