Ler resultados da pagina com javascript

Olá

Eu já pesquisei por isso mas não consegui achar nada que funcionasse, o que eu preciso fazer é:

Em java, preciso criar um método que abre uma página, lê tudo que ta escrito la e me retorna os dados:

    public void getServer(String urlx) {
        try {
            URL url = new URL(urlx);
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String str;

            while ((str = in.readLine()) != null) {
                //return str;
            }

            in.close();
        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

Ok, ele funciona com .txt, mas agora eu preciso que ele leia todos os dados em uma página mais complexa, a página é essa:

<?php

$hash = $_GET['hash'];

?>
<script>
var value = toString('<?=$hash?>');
postOnClick(value);

function toString(val) {
    return  val + "@lock";
};

function postOnClick(sthi) {
    var http = new XMLHttpRequest();

    var params = "hash="+sthi;

    http.open("POST", "show.php", true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");

	http.onreadystatechange = function() {
		if (http.readyState == 4 && http.status == 200) {
			document.open();
			document.write(http.responseText);
		}
	}

    http.send(params);
};
</script>

show.php:

<?php

$hash = $_POST['hash'];
echo $hash;

?>

No caso eu entraria na página “http://localhost/validate.php?hash=01234” e iria aparecer escrito “01234@lock”, é esse resultado que eu queria ler em java.

Não sei o que fica mais fácil mudar, o java ou o javascript, se alguém tiver uma sugestão do que fazer diga ai por favor :slight_smile:

Você quer interpretar o arquivo PHP dentro do Java, ou quer chamar um servidor com este PHP?

Se for a 2a opção, você pode usar o URL/URLConnection ou até uma solução mais robusta, como o Apache HttpClient para conectar e buscar o valor.

Quanto ao JavaScript, você pode fazer a requisição da página via Ajax.
Porém, por segurança, a requisição deve ser feita dentro de um mesmo host/servidor.

Ou seja, se você está no www.guj.com.br, o Ajax não pode buscar informação de www.oracle.com.
Talvez a melhor solução neste caso seja um Servlet seu buscar a página via URLConnection ou HttpClient, da forma que citei anteriormente.