elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: [1]
1  Programación / PHP / corregir error XML externo en: 21 Julio 2012, 11:32 am
Hola, os cuento mi problema: Estoy parseando un XML externo a mi mediante el metodo simplexml_load_file. El caso es que a veces el XML contiene errores por caracteres mal codificados supongo, por lo que la función casca y no funciona mi script.

El XML lo obtengo de aquí: http://odds.betgun.com/ (ahora mismo si tiene un error, no se dentro de unas horas)

Como una solución parcial descargaba el fichero y corregía el carácter mal codificado a mano y ya funcionaba, pero lógicamente esto implica saber que carácter es, por lo que me resulta difícil automatizarlo.  ¿Existe algún método para corregir esto y poder parsear el XML aunque tenga errores en su formación?

Un saludo y muchas gracias
2  Programación / Desarrollo Web / web service con Jquery en: 4 Junio 2012, 18:24 pm
Hola, estoy haciendo una web de ejemplos para aprender un poquito de Jquery. Hasta ahora la cosa fue bastante bien, pero me he encontrado con un problema: Mi idea es hacer un cliente de un web service, en concreto este:

http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejero.asmx?op=Consulta_DNPRC

pero siempre que hago la llamada obtengo un "undefined error" y ya no se por donde buscar el fallo.

Mi codigo es el siguiente:

Código:
function refCatastral()
{
    var wsUrl = "http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejero.asmx";


    var soapRequest =
'<?xml version="1.0" encoding="utf-8"?>'+
'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'+
    'xmlns:xsd="http://www.w3.org/2001/XMLSchema"'+
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
  '<soap:Body>'+
    '<Provincia xmlns="http://www.catastro.meh.es/">Madrid</Provincia>'+
    '<Municipio xmlns="http://www.catastro.meh.es/">Madrid</Municipio>'+
    '<RefCat xmlns="http://www.catastro.meh.es/">1749101VK4714H0001KW</RefCat>'+
  '</soap:Body>'+
'</soap:Envelope>';

    $.ajax({
        type: "POST",
        url: wsUrl,
        contentType: "text/xml; charset=\"utf-8\"",
        dataType: "xml",
        data: soapRequest,
        success: processSuccess,
        error: processError
    });
    alert(soapRequest);
}

function processSuccess(data, status, req) {
    alert(req);
}

function processError(data, status, req) {
    alert(req.responseText + " " + status);




¿Alguien sabe por donde puede estar fallando?

Un saludo. Gracias.
3  Programación / Programación C/C++ / Ejecutar commando y leer resultado en: 14 Junio 2010, 17:33 pm
Hola, ya se que para ejecutar un commando Linux desde C se puede hacer con system() o con execv(), pero no me interesa eso si no leer el resultado ya que se trata de una peticion OSCP para conocer el estado de unc ertificado.

El comando seria ago así:

Código:
'openssl ocsp -CAfile FICHEROCA -issuer FICHEROCASUBORDINADA -cert CERTIFICADO -url oscp.dnie.es'

Sólo se me ocurre redirigir la salida del comando a un fichero auxiliar y luego leer el contenido

Código:
comando > ficheroAuxiliar

pero no se si habrá una forma más directa o sencilla de hacer esto.
¿Alguna Idea? Gracias.
4  Programación / Programación C/C++ / Servidor SSL con Pthreads en: 11 Junio 2010, 15:35 pm
Hola, estaba haciendo un pequeño servidor SSL que pudiese atender a multiples clientes a la vez. Cogí un ejemplo que encontre por internet y trabaje sobre el:
Código:
#define NUM_THREADS 5


//−−− S e r v i d o r −−−−−−−−−− −−−−−−−−−−−−−−−−−−−−−−−−−−
// R e a l i z a r e l p r o c e d i m i e n t o s e r v i c i o −−−−−−−−−−−−−−−

void *Servidor(void *threadarg){
      char buf[1024];
      char reply[1024];
      int sd, bytes;
      const char* HTMLecho="Esto solo es el mensaje de mi servidor SSL multihilo";


       

     // Estructura donde se guardan los parametros de los threads
      struct thread_data *my_data;
      int taskid;
      // Parser de los datos de la estructura a variables
      my_data=(struct thread_data*)threadarg;
      taskid=my_data->thread_id;
      SSL *ssl=my_data->message;

      HTMLecho=my_data->reto;

      printf("Inicia Servidor\n");
      if(SSL_accept(ssl)==FAIL){
               printf("Hubo un error en el SSL accept\n");
               ERR_print_errors_fp(stderr);
      } else{
               printf("SSL accept fue exitoso\n");
               //MostrarCertificados(ssl);
               bytes=SSL_read(ssl,buf,sizeof(buf));
               if(bytes>0){
                       buf[bytes]=0;
                       printf("Mensaje cliente [%d]: %s\n", taskid,buf);


                       sprintf(reply,HTMLecho,buf);
                 sleep (30);

                       //SSL_write(ssl,reply,strlen(reply));
SSL_write(ssl,reply,20);
               }
               else
                       ERR_print_errors_fp(stderr);
      }
      sd=SSL_get_fd(ssl);
      SSL_free(ssl);
      close(sd);
}


//−−− Main −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
// Se e n c a r g a de c r e a r e l s e r v i d o r


int main(int count, char *strings[]){
     //Arreglo de hilos
     pthread_t threads[NUM_THREADS];
     struct thread_data thread_data_array[NUM_THREADS];
     int t=0;
     int rc;
     SSL_CTX *ctx;
     int server;
     char *portnum;
     SSL_library_init();
     if(count!= 2){
             printf("Uso : %s <portnum>\n", strings[0]);
             exit(0);
     }

//Genero el reto
printf("Generando reto...\n");
   /* Longitud del reto */
unsigned short int length = 20;
char reto[20];
    /* Seed number for rand() */
srand((unsigned int) time(0) + getpid());
    /* ASCII characters 33 to 126 */
int aux=0;
    while(length--) {
        reto[aux]=putchar(rand() % 94 + 33);
        srand(rand());
aux++;
    }
reto[aux]='\0';
    printf("\n");
//imprimirReto(reto);
const char* HTMLecho;
HTMLecho=reto;


     portnum = strings [1];
     ctx=IniciarCTXServidor();
     CargarCertificados(ctx,"/home/xabi/Escritorio/examples/ssl/proyecto/certificados/servidor/server.crt","/home/xabi/Escritorio/examples/ssl/proyecto/certificados/servidor/server.key");//Certificado y clave
     server=CrearSocket(atoi(portnum));
     printf("Esperando por conexiones[%d]\n", server);
     printf("Inicia a aceptar conexiones\n");
     while(1){
         struct sockaddr_in addr;
         SSL *ssl;
             int len=sizeof(addr);
             int client=accept(server,(struct sockaddr*)&addr,&len);
             printf("Connection: %d %d\n",inet_ntoa(addr.sin_addr),ntohs(addr.sin_port));
             ssl=SSL_new(ctx);
         // Se crea contexto
             SSL_set_fd(ssl,client);
       t++;
             // Se da numero de pthread
       thread_data_array[t].thread_id=t;
       // Se le da el id del thread al thread
           thread_data_array[t].message=ssl;
       // Se le da el asigna el contexto de la conexion al thread


     thread_data_array[t].reto=(char *)HTMLecho;

             rc=pthread_create(&threads[t],NULL,Servidor,(void *)&thread_data_array[t]);
             // Se crea el hilo y se le manda la estructura llenada previamente


if(t==NUM_THREADS){ //DUDA!!!!!!!!!
sleep(5);
t=0;
}

  }
  close(server);
  SSL_CTX_free(ctx);
}


Como veis para cada peticion que llega crea un hilo que atiende esta petición y tengo definido un máximo de 5 peticiones. De esta forma funcionaba, pero después de la 5 petcion , al llegar la 6 lógicaente da un error de segmentacion. Así que decidi poner, si llega a la 5 petición pongo el contador a 0 y que siga creando hilos, perono estoy seguro de que este bien ya que vuelvo a crear un hilo con id=0 por ejemplo igual que el otro hilo id=0 que no se si acabo o no y supongo que puede darme problemas de concurrecia en el futuro.

Alguna idea de como mejorar esto? Gracias
5  Programación / Java / descargar codigo web problema codificacion en: 22 Abril 2010, 20:24 pm
Wenas.

Tengo un codigo que mediante la clase URL conecta a una web descarga el contenido y lo guarda en el fichero. Este sería el código más o  menos:
Código:
String HTTPString = "http://"+host+":"+port+"/"+fileName;
            URL theURL = new URL(HTTPString);

InputStream inStream = theURL.openStream();
            BufferedReader input = new BufferedReader(new InputStreamReader(inStream));
String response;
            response = input.readLine();
            // read and display one line at a time


indice=fileName.indexOf("una/");
indice2=fileName.indexOf(".html");
            String nombreFichero = fileName.substring(indice+4,indice2+5);

String ruta = "/home/linux1/Recolector/webs/"+nombreFichero;
File fichero = new File(ruta);
if (fichero.length()==0){
fichero.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(fichero, true));
while (response != null) {
//System.out.println(response);
out.write(response);
response = input.readLine();
} //end while
out.close();
}


Funcionar funciona perfectamente, el único problema es que en el archivo que genera no se muestran correctamente ni los acentos ni las eñes. Alguna idea?
Gracias.
6  Programación / Java / [SOLUCIONADO]Duda cliente web (Java) en: 22 Marzo 2010, 12:49 pm
Hola, estoy haciendo uncliente web para conectar a esta pagina:

http://www.enalquiler.com/alquiler-pamplona-iruna-34-1-0-33885.html

Logro conectar bien y descargar el código, pero ahora quiero poder redirigirme a la siguiente paginas (pagina 1, pagina 2, pagina 3...) el problema es que esta pagina no tiene enlaces directos sino que va con javascript y no se como hacerlo muy bien. Mi idea era pasarle por el metodo post el numero de pagina pero o no se pasa así o le hacen falta pasr mas datos.

Mi codigo es:

Código:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;

public class Main {

  public static void main(String[] args) throws Exception {
    URL url = new URL("http://www.enalquiler.com/alquiler-pamplona-iruna-34-1-0-33885.html");
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);
    OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());

    writer.write("numpag=2");------> Peticion Post
    writer.flush();
    String line;
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    while ((line = reader.readLine()) != null) {
      System.out.println(line);
    }
    writer.close();
    reader.close();

  }
}



El caso es que siempr descarga la primera página, y no logro avanzar a la pagina 2. Alguna idea?

Gracias.
7  Media / Juegos y Consolas / patches pcsx2¿? en: 28 Enero 2005, 01:41 am
En el manual pone q xa jugar al juego necesitan tener el patche y si no tendras q crearlo. Pues eso d donde se bajan o como se crean?

Salu2
8  Media / Diseño Gráfico / Alma caritativa que me ayude en: 7 Febrero 2004, 13:06 pm
Bueno, a alguien le interesaria hacerme un banner y un logo pa mi web, es k no tengo tiempo y porque no decirlo, no tengo ni idea de diseño. Así que si alguien se ofrece la web es:
www.alkatraz.tk

Puede ponerse en contacto conmigo, xabies@msn.com
Venga, gastar un poco de tiempo en algo que os gusta y de pasa me ayudas.
venga, gracias.
ALcatraz
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines