Pessoal, boa tarde!
Tenho a seguinte situação: Existe uma página html que quando você a acessa, ela executa um script em javascript que busca umas informações e preenche alguns campos de input type=text.
Preciso ler este html e capturar os dados destes input.
Para capturar, usei o código:
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
URL url = new URL("http://www.url.com.br");
URLConnection conn = url.openConnection();
InputStream is = url.openStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String linha = br.readLine();
while (linha != null) {
System.out.println(linha);
linha = br.readLine();
}
}
Até aí tudo bem.
Os dados que me foram retornados é algo mais ou menos como no exemplo abaixo:
<HTML>
<HEAD>
<!--
Registry Server v3.042
-->
<script LANGUAGE="JavaScript">
<!--
function update_regsvr_list()
{
parent.regbrwa.do_update_regsvr_list();
}
//-->
</script>
</HEAD>
<BODY OnLoad="update_regsvr_list()">
<FORM NAME="theForm">
Total Count = <INPUT TYPE="TEXT" SIZE=10 MAXLENGTH=10 NAME="RegSvrListCount" VALUE="4"><BR>
Selected Start = <INPUT TYPE="TEXT" SIZE=10 MAXLENGTH=10 NAME="RegSvrListItemStartSel" VALUE="0"><BR>
Selected Count = <INPUT TYPE="TEXT" SIZE=10 MAXLENGTH=10 NAME="RegSvrListItemCountSel" VALUE="4"><HR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP0" VALUE="10.0.0.1">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName0" VALUE="007-vt910088">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID0" VALUE="00:14:0B:00:00:00">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime0" VALUE="2012/05/14 14:06:09">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus0" VALUE="0">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP1" VALUE="10.0.0.2">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName1" VALUE="009-vt910092">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID1" VALUE="00:14:0B:6E:00:01">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime1" VALUE="2012/05/14 14:16:12">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus1" VALUE="0">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP2" VALUE="10.0.0.3">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName2" VALUE="024-vt910051">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID2" VALUE="00:14:0B:6E:01:02">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime2" VALUE="2012/05/14 14:12:59">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus2" VALUE="0">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP3" VALUE="10.0.0.4">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName3" VALUE="014-vt910101">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID3" VALUE="00:14:0B:6E:00:03">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime3" VALUE="2012/05/14 03:09:33">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus3" VALUE="2">
<BR>
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListInfoStart" VALUE="0">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListInfoCount" VALUE="20">
</FORM>
</BODY>
</HTML>
O que eu quero é o seguinte: Preciso capturar os valores dos inputs e colocá-los numa variável. Por exemplo:
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListIP0" VALUE="10.0.0.1">
<INPUT TYPE="TEXT" SIZE=40 MAXLENGTH=40 NAME="RegSvrListName0" VALUE="007-vt910088">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListMacID0" VALUE="00:14:0B:00:00:00">
<INPUT TYPE="TEXT" SIZE=30 MAXLENGTH=30 NAME="RegSvrListTime0" VALUE="2012/05/14 14:06:09">
<INPUT TYPE="TEXT" SIZE=6 MAXLENGTH=6 NAME="RegSvrListStatus0" VALUE="0">
<BR>
No código acima, preciso pegar somente os valores de cada campo. Ex:
RegSvrListIP0 = 10.0.0.1
RegSvrListMacID0 = 00:14:0B:00:00:00
RegSvrListStatus0 = 0
Pesquisei na web e achei muitas opiniões sobre usar a manipulação de strings, entre outros.
Mas a minha pergunta é: Existe alguma forma de ler um texto, entendê-lo como html e usar os seus atributos ou terei que tentar fazer com manipulação de strings mesmo?
Se a resposta for usando strings, como vocês fariam para obter estas informações?
Abraços.