Estou usando o codigo abaixo para trabalhar no html da pagina.
Ocorre que algumas paginas (pelo que percebi são asp) ele mostra um codigigo q não é o esperado.
O código que ele mostra é igual quando clica com direito do mouse e vai em "codigo fonte" do firefox, mas o firefox tem outra opção que é "este frama > codigo fonte" ai sim mostra o que eu quero ver.
Tem como fazer isso com o java?
[code]
public void url(String link) throws URISyntaxException {
try {
URL url = new URL(link);
URLConnection connection = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuffer sb = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
sb.append(inputLine);
sb.append("\r\n");
}
pattern(sb.toString());
in.close();
} catch (MalformedURLException ex) {
throw new RuntimeException(ex);
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}[/code]
Espero ter sido claro.
Basta você passar a URL correta (no seu caso, a URL do frame).
Acho que entendi o que o avsouza está querendo fazer. Ele não quer simplesmente o html da página. Ele quer o html do frame que foi carregado pela página principal. Para fazer isso você vai precisar primeiro pegar o html da página principal e procurar, dentro desse código, a URL do frame que você quer. Por exemplo, o site www.caixa.gov.br, lá no código fonte, lá pela linha 900, tem um iframe que aponta para http://www1.caixa.gov.br/imprensa/index.asp. Se você quiser pegar o código html desse iframe, se fosse um iframe com url dinâmica, seria preciso primeiro buscar, no html da página principal, alguma coisa que só esse iframe possui. Por exemplo, localize a string title=“Todas as notícias”, então, some 32 à posição dessa string dentro do html todo, e terá a posição inicial do link, depois do href=". A partir dessa posição das aspas iniciais, localize as aspas finais e guarde numa segunda variavel. Agora, pegue a string compreendida entre a posição inicial e final e terá o link, mesmo que este mude a cada visita à página.
String html;
int posIni = html.indexOf("title=\"Todas as notícias\"");
posIni += 32; // essa posição está no início do http://...
int posFim = html.indexOf("\""); //para achar as aspas finais
String myUrl;
myUrl.concat(html.substring(posIni, posFim)); //pega a substring que contém a Url desejada
Isso tá mais pra POS (programação orientada à strings), mas é a única saída quando um site não oferece uma api para se coletar programaticamante os dados que se deseja.
Não sei se minha sintaxe tá certa, ainda estou migrando do .Net
furutani usando o codigo do link q vc passou, mostra o mesmo resultado do codigo que eu postei
[code]
Intranet
[/code]
dyeison o problema vc entendeu sim, vou ver se consigo implementar sua dica.
Isso. Aplica a dica buscando os frames menuPrincipal.asp e inicio.asp, adaptando pro seu caso.