Hola de nuevo, miren mediante este programa busco iniciar sesión en facebook para ello he estudiado un poco su página:
Citar
<td class="html7magic"><label for="email">Correo o teléfono</label></td><td class="html7magic"><label for="pass">Contraseña</label></td></tr><tr><td><input type="text" class="inputtext" name="email" id="email" value="" tabindex="1" /></td><td><input type="password" class="inputtext" name="pass" id="pass" tabindex="2" /></td><td><label class="uiButton uiButtonConfirm" id="loginbutton" for="u_0_l"><input value="Entrar" tabindex="4" type="submit" id="u_0_l" /></label></td>
Lo que me hace deducir que para iniciar sesión necesitare realizar un POST con el hotmail o teléfono y contraseña de la siguiente manera:
email->miemail@hotmail.com
pass->contraseña
Entonces en el C++ tengo lo siguiente para iniciar sesión ojo a la cookie tengo problemas para extraerla, algun algoritmo sería bien recibido:
char* inicia_sesion(char* user, char *pass)
{
WSADATA wsa;
int sok, len;
struct sockaddr_in dir;
char buf[500], cad[100], aux[10], rec[1000];
WSAStartup(MAKEWORD(2, 0), &wsa);
if ((sok = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("Se ha producido un error al inicializar el socket.");
exit(0);
}
else
{
dir.sin_family = AF_INET;
dir.sin_port = htons(PUERTO);
dir.sin_addr.s_addr = inet_addr(IP);
strcpy_s(cad, "email=");
strcat_s(cad, user);
strcat_s(cad, "&pass=");
strcat_s(cad, pass);
len = strlen(cad);
_itoa_s(len, aux, 10);
strcpy_s(buf, "POST /index.php HTTP/1.1\r\n");
strcat_s(buf, "Host: www.facebook.com\r\n");
strcat_s(buf, "Content-type: application/x-www-form-urlencoded\r\n");
strcat_s(buf, "Content-length: ");
strcat_s(buf, aux);
strcat_s(buf, "\r\n\r\n");
strcat_s(buf, cad);
connect(sok, (struct sockaddr*)&dir, sizeof(dir));
send(sok, buf, strlen(buf), 0);
strcpy_s(buf, "");
recv(sok, buf, 1000, 0);
printf("%s", buf);
}
Recibo que el navegador no es válido:
CitarHTTP/1.0 302 Moved Temporarily
Location: http://www.facebook.com/unsupportedbrowser
Content-Type: text/html; charset=utf-8
X-FB-Debug: /e6SzF/7COKJY++J5Zt0aTYEdi2vwAvXAwRVH91SWDGbp6gIAHzpF2G9v+jDJox1gT4j3E8o0sk/OJy/qxKVuA==
Date: Fri, 24 Oct 2014 17:40:51 GMT
Content-Length: 0
X-Cache: MISS from ubuntu
X-Cache-Lookup: MISS from ubuntu:3128
Via: 1.1 ubuntu:3128 (squid/2.7.STABLE9)
Connection: close
þþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþÌÌÌÌÌÌÌÌ
Como puedo iniciar sesión, luego me tendrá que dar cookies. Un poco ayuda con esto pls.
Se me ocurre hacerlo para una página que paguen por publicar mensajes o hacer clicks¿? se podría falsificar el navegador con cpp para esa página.
Saludos.
Probaste a ponerle el campo de navegador con Chrome, por ejemplo?
Vale quizas sea que necesite agente de usuario de navegador para que me mande los datos orientados a mi navegador, o simplemente para que me reconozca el navegador y así se defienda de los bots, cosa que trataremos de crackear.
Me acabo de encontrar una preciosa página:
http://www.useragentstring.com/pages/useragentstring.php (http://www.useragentstring.com/pages/useragentstring.php)
Pero no entiendo cada sistema operativo tiene su agente de navegación, he probado con uno así:
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36
Supongo que esto valdrá para todos usuarios no? Porque si quiero exportar mi programa quiero que valga para los demás aunque sean de 32 bits por ejemplo xp
El User Agent es un campo más, no influye para nada en el programa. Sólo es para que lo sepa el servidor (que a lo mejor envía un html diferente)