Pegar um página e passar parâmetros

8 respostas
G

Pessoal bele.
Estou com o seguinte problema, pensei que seria fácil de resolver mas está me quebrando a cabeça: Preciso me conectar a um site pegar o código html, alimentar com os dados que desejo e retornar a mesma para o servidor de origem. Alguém sabe uma forma prática de fazer isso?

8 Respostas

F

Com a classe URLConnectio vc deve fazer uma conexao a pagina que vc quer, depois vc tera que baixar a pagina como se vc um txt com o inputStreeam que essa classe retorna.Ate aqui e de boa o codigo.
Depois vc vai alterar esse arquivo como quiser…
A parte que eu naum sei e como enviar de volta ao servidor.
Uma ideia seria usar socktes mas eu nunca tentei, mas se eu naum estiver enganado tem um metodo de envio de dados para o servidor, so tem um problema vc preicsa de dados do servidor oq naum eh muito facil…
Se vc precisar do codigo da primeira parte e soh pedir q eu posto depois blz!!
Falow!!!

G

Preciso sim cara, se vc puder postar pra mim agradeço muito.

Valeu

T

Para enviar os dados de volta, se for usar POST, use a mesma URLConnection que você usou para puxar os dados.
Sempre procure aqui ( http://www.javaalmanac.com ) para exemplos de código.
Veja os links que estão nesta página, acho que dá para fazer bastante coisa com eles.
http://www.javaalmanac.com/cgi-bin/search/find.pl?words=urlconnection

G

Bele.

Valeu mesmo pelas dicas cara, agora vou estudar estes exemplos e ver o que consigo.

Falou.
Gilberto

F
import java.io.*;
import java.net.*;
import java.util.*;

/**
 * @author Felipe Lutz
 *
 * 
 */
public class Hora {
	private String dia="";
	private URL url;
	private InputStream buffer;
	private String hora; 
	private String tam;
	private String retorno;
	private String mes="",ano="";
	
	
 public Hora () throws IOException
	  {  
		 
		 	
 	     url= new URL("http://pcdsh01.on.br/ispy.asp");
		  HttpURLConnection uc = (HttpURLConnection) url.openConnection();
		  InputStream texto=uc.getInputStream();
		  buffer= new BufferedInputStream(texto);    
		  PegaHoranaPagina(texto);
		  uc.disconnect(); 
		  
		 
		
	  }
	
public void PegaHoranaPagina(InputStream is)
	 {	
		try
		{
			
			BufferedReader in = new BufferedReader(new InputStreamReader(is));
			String inputLine = "";
				
			
			while ((inputLine = in.readLine()) != null) // imprime linha por linha do código
			{
				if(inputLine.endsWith("</td>"))
				{
					tam=inputLine;					}
						
			}
			in.close();
			setFormataHora(tam);
			setFormataDiaMesAno(tam);
			//System.out.println(tam);
								}
		
		catch(IOException e)
		{
			System.out.println("Erro na impressao da pagina");
			e.printStackTrace();	
		}
      	
}

Foi mals a demora :oops:
Mas ta ai uma pequena ajuda.
Os metodos eu naum posso te passar 8)
Mas com isso ja da pra fazer as alterações, como eu te disse depois vc transforma o inputstream em .txt e manipula por la, ou pelos meotodo(assim fica dinamico)
Boa sorte!!!!

G

Bele cara.
Valeu mesmo pela dica, o projeto já está encaminhando.
Eu encontrei uma api muito louca para fazer o que eu preciso, é a JDIC que faz parte de um projeto da SUN e da comunidade open-source para criar uma forma de integração mais fácil do java com o sistema hospedeiro. Nesta api tem uma classe que emula o navegador padrão do sistema e eu posso faze o mesmo rodar de dentro de minha aplicação.
Além disso esta classe me permite injetar javascript nas páginas, com isso eu posso preencher os parâmetros de forma mais simples.

OBS: encontrei um novo problema, uma das páginas a qual eu me conecto tem um input do tipo “file” e por segurança o navegador desconsidera qualquer valor que eu passe para este input via código. Com os navegadores Mozzila e Netscape eu consigo via javascript pedir permissão de leitura e manipulação de arquivos, mas com o internt explorer ainda não consegui encontrar uma forma de solicitar permissões de leitura dos arquivos locais. Se vcs conhecerem uma forma de fazê-lo por favor dêem-me uma ajuda.

Valeu
Gilberto.

F

Cara agora vc me pegou :oops:
Essa parte eu naum sei mais te ajudar…
Mas essa api ta no site da sun???
Falow ate mais…

G

Bele cara.

Dá uma olhada neste site:https://jdic.dev.java.net/, lá vc vai encontrar mais informações sobre a api além de algums exemplos.

Valeu
Gilberto

Criado 9 de agosto de 2005
Ultima resposta 17 de ago. de 2005
Respostas 8
Participantes 3