Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Puntoinfinito en 17 Marzo 2013, 20:19 pm



Título: Petición HTTP en C++ mediante sockets?
Publicado por: Puntoinfinito en 17 Marzo 2013, 20:19 pm
Holis!!

A ver, me gustaría poder hacer peticiones HTTP GET mediante sockets en c++, la verdad que he leído por google y no especifican mucho, no sé si me estaré equivocando, pero es que nunca he trabajado con este tipo :)

Sabéis como hacerlo??

Saludos!!


Título: Re: Petición HTTP en C++ mediante sockets?
Publicado por: 0xDani en 17 Marzo 2013, 21:54 pm
Aqui te dejo un flooder HTTP que hice: https://foro.elhacker.net/empty-t374640.0.html

Lo que tienes que hacer es conectarte al puerto 80 del server en cuestion, y enviarle la cadena con la peticion GET.

Saludos.


Título: Re: Petición HTTP en C++ mediante sockets?
Publicado por: Puntoinfinito en 17 Marzo 2013, 22:09 pm
Hey lo acabo de probar, pero me sale error al compilar;

Código:
socketflooder.cpp: En la función ‘void* t(void*)’:
socketflooder.cpp:68:47: error: conversión inválida de ‘int*’ a ‘socklen_t* {aka unsigned int*}’ [-fpermissive]
In file included from socketflooder.cpp:1:0:
/usr/include/sys/socket.h:142:12: error:   argumento de inicialización 3 de ‘int getpeername(int, sockaddr*, socklen_t*)’ [-fpermissive]

PD: @0xDani ahora mismo estoy en tiempos con poco tiempo libre, a ver cuando tengo más tiempo y acabamos proyecto y tal :)


Título: Re: Petición HTTP en C++ mediante sockets?
Publicado por: 0xDani en 18 Marzo 2013, 16:09 pm
Ese error es porque C++ es mas estricto con los tipos que C, en C me compilaba perfectamente, de todas formas fijate en esta parte:

Código
  1. sprintf(request, "GET / HTTP/1.1\nHost: %s\nUser-Agent: Mozilla/4.0\n\n ", host->h_name);

Lo unico que hago es meter el nombre del host en medio de la peticion, cualquier duda me preguntas.

[offtopic]Yo tampoco tengo mucho tiempo ahora, examenes y eso   :-[ Pero bueno, a ver cuando lo podemos retomar  ;)[/offtopic]


Título: Re: Petición HTTP en C++ mediante sockets?
Publicado por: Puntoinfinito en 18 Marzo 2013, 19:38 pm
Sí, por lo que veo parece algo sencillo, aunque también he encontrado otras formas mediante Qt por ejemplo. Una cosa, cuando pueda lo probaré, pero, si por ejemplo hago una petición a un directorio de un servidor el cual descarga un archivo, ese archivo es almacenado en el directorio del binario que ha hecho la petición HTTP?? Saludos!!


Título: Re: Petición HTTP en C++ mediante sockets?
Publicado por: 0xDani en 19 Marzo 2013, 16:45 pm
si por ejemplo hago una petición a un directorio de un servidor el cual descarga un archivo, ese archivo es almacenado en el directorio del binario que ha hecho la petición HTTP?? Saludos!!

Me parece que no te has explicado muy bien.