Olá Pessoal,
Estou com dois probleminhas básicos, mas não estou conseguindo resolvê-los:
1- Compilei a classe com o NetBeans abaixo e coloquei seu .class no diretório c:\xampp\httdocs\meu_site\lookup
a seguinte classe:
package lookup;
/**
*
-
@author casa
/
import javax.naming.;
import javax.naming.directory.*;
public class NsLookup {
public static String resultado = "";
/**
* Este método lê o registro tipo A do servidor de DNS
* escolhido, quando lhe é submetida uma consulta sobre
* o IP de um domínio passado como parâmetro
* O método retorna um ArrayList que pode ser visualizado
*
*
**/
public static void getRecord(String DNS_SERVER, String A, String domain) throws Exception {
long tInicio = System.currentTimeMillis();
Soquete a = new Soquete(DNS_SERVER, A, domain);
NamingEnumeration todos = a.attr.getAll();
long tFim = System.currentTimeMillis();
int i;
while (todos.hasMore()) {
i = 1;
Attribute attr = (Attribute)todos.next();
//System.out.println("Attribute: " + attr.getID());
// resultado += " atributo" + attr.getID();
//System.out.println(resultado);
NamingEnumeration values = attr.getAll();
while (values.hasMore()) {
// retorna os endereços requisitados
resultado += i + " - IP/dominio " + values.next() + ", ";
i++;
// System.out.print("Value: "+ values.next());
System.out.print(resultado);
}
}
// Imprime o tempo de resposta
resultado += "timeout " + (tFim - tInicio)+ " ms " +'\n';
// System.out.println(" em "+ (tFim - tInicio)+ " ms");
System.out.println(resultado);
}
public static void main(String[] args) throws Exception {
if (args.length > 0) {
try {
NsLookup ns = new NsLookup();
NsLookup.getRecord(args[0], args[1],args[2]);
} catch (NumberFormatException e) {
System.err.println("Usage: NsLookup dns A dominio");
System.exit(1);
}
}
Arquivo arq = new Arquivo();
arq.geraArquivo("atrasos.txt");
arq.escreveTexto(resultado, "");
arq.fechaArquivo();
}
}
No mesmo pacote lookup existem as outras classes Soquete e Arquivo necessárias a essa classe.
Ao chamar dentro da pasta lookup ou um nível acima, com
java NsLookup ip_do_dns A dominio_a_pesquisar
Recebo a mensagem Exception in thread "main" java.lang.NoClassDefFoundError: Nslookup
como se não estivesse encontrando a classe principal.
O que estou fazendo errado???
O segundo problema
Estou querendo chamar essa classe via script PHP da seguinte forma:
echo $host;
$output = array("ip_do_dns","A","dominio_a_ser_pesquisado");
$return_var = "";
exec("java lookup.NsLookup", $output, $return_var);
$output_str = join($output, "\n");
echo “<pre>The output was:\n$output_str\n\n”;
echo “The return value was $return_var</pre>”;
No entanto não consigo chamar a classe, parece que não estou conseguindo executá-la.
Se alguém puder me ajudar, desde já agradeço