Autor
|
Tema: envio de datos GET y POST (finales) (Leído 4,906 veces)
|
satan69
Desconectado
Mensajes: 341
|
bueno en teoria lo dije en este tema http://foro.elhacker.net/index.php/topic,206863.0.html pero ahora me gustaria que comenzaramos analizarlo bien, que cambia, que hay que agregarle, que esta de mas para enviar los datos perfectos Ejemplos:login.php por ejemplo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>localhost</title> </head>
<body> <form id="datos" name="datos" method="post" action=""> <label> <div align="center"> <?php $user=trim($_POST["user"]); $pass=trim($_POST["pass"]); //aqui el script ya sea de un foro o cualquier sitio //para loguiarse con las variables user y pass ?> <br /> <table width="237" height="94" border="1"> <tr> <td width="43"> </td> <td width="132"><div align="center">user <input name="user" type="text" id="user" size="10" /> <br /> pass <input name="pass" type="text" id="pass" size="10" /> <br /> <input type="submit" name="enviar" id="enviar" value="Enviar" /> </div></td> <td width="40"> </td> </tr> </table> <br /> </div></label> </form> </body> </html>
ahora los el envio de datos seria asi: <?php $da = fsockopen("www.example.com", 80);
$salida = "GET /login.php?user=satan69&pass=satan69 HTTP/1.1\r\n"; $salida .= "Host: www.example.com\r\n"; $salida .= "Connection: Close\r\n\r\n";
fwrite($da, $salida); fclose($da);
?>
ese seria con metodo GET... ahora mi pregunta seria con metodo POST.. como seria..? poniendo el ejemplo del formulario de arriba ojo: no quiero hacer daño... simplemente saber como trabajan....
|
|
« Última modificación: 23 Abril 2008, 07:05 am por satan69 »
|
En línea
|
|
|
|
LuffyFF
Desconectado
Mensajes: 754
Final Fantasy XIII
|
nas, supongo que asi deberia ir bien. <?php //Definimos un array parametros para cada nombre de campo $parametros[user] = "Pepe123"; //Nombre de usuario $parametros[pass] = "contra123aa2"; //contraseña
$fp = fsockopen("www.ejemplo.com", 80); fputs($fp, "POST /login.php HTTP/1.1\r\n"); fputs($fp, "Host: www.ejemplo.com\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: " . strlen($parametros) . "\r\n"); fputs($fp, "Connection: close\r\n\r\n"); fputs($fp, $parametros); fclose($fp); ?> Ahi como verás el array $parametros, ahi tienes q poner el nombre del campo y luego el valor que vas a enviar. También, otra alternativa es usar cURL o la clase Snoopy que te facilitan las tareas. salu2
|
|
« Última modificación: 24 Abril 2008, 13:14 pm por Mugiwara »
|
En línea
|
|
|
|
satan69
Desconectado
Mensajes: 341
|
un ejemplo con cURL o la clase Snoopy.... por favor... pero mi pregunta es de donde sacaste fputs($fp, "POST /login.php HTTP/1.1\r\n"); fputs($fp, "Host: www.ejemplo.com\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: " . strlen($parametros) . "\r\n"); fputs($fp, "Connection: close\r\n\r\n"); una explicadita para saber como es..
|
|
|
En línea
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
lo que tu necesitas es estudiar el protocolo HTTP para saber de donde salio la respuesta del señor mugiwara http://www.cibernetia.com/manuales/introduccion_aplicaciones_web/2_1_fundamentos_web.php mejor explicado no encontre
|
|
|
En línea
|
|
|
|
satan69
Desconectado
Mensajes: 341
|
ya le entendi.. pero para enviar los datos como lo puso Mugiwara fputs($fp, "Content-length: " . strlen($parametros) . "\r\n"); es parte no le entiendo
|
|
|
En línea
|
|
|
|
LuffyFF
Desconectado
Mensajes: 754
Final Fantasy XIII
|
ya le entendi.. pero para enviar los datos como lo puso Mugiwara fputs($fp, "Content-length: " . strlen($parametros) . "\r\n"); es parte no le entiendo Eso es una cabecera para indicar el tamaño de los datos que estamos mandando. Calcula el tamaño de los valores que estamos pasando y lo pone como cabecera. No se si sea necesario, pero algunos host pueden no funcionar si no pones el tamaño del contenido. un ejemplo con cURL o la clase Snoopy.... por favor... Con la clase Snoopy, simplemente te bajas la clase Snoopy, la incluyes en tu codigo y el codigo de esa clase está bastante simple. <? include("snoopy.class.php");
//URL a mandar el post $url = "http://www.ejemplo.com/login.php";
//Parametros de de los campos, con el nombre del campo y su valor a postear $parametros[user] = "Pepe"; $parametros[pass] = "alfredinho291";
//Iniciamos una instancia de la clase snoopy $snoop=new Snoopy; //Enviamos los datos $parametros a $url $snoop->submit($url, $parametros); //Opcional, si quieres mostrar el resultado o la pagina final al hacer el post descomenta la siguiente linea #$snoop->results; ?> Snoopy Class: http://sourceforge.net/projects/snoopy/Salu2
|
|
« Última modificación: 25 Abril 2008, 05:11 am por Mugiwara »
|
En línea
|
|
|
|
satan69
Desconectado
Mensajes: 341
|
fijate que lo hice con Snoopy, y no me funciono..
|
|
|
En línea
|
|
|
|
rulodlb
Desconectado
Mensajes: 16
|
Es post por ahora me vino sirviendo un monto. Ahora necesitaria hacer algo similar. En vez de mandar los datos para un texto en la página que recive, lo que necesito es enviar un archivo utilizando el snoopy. Alguna idea?
Desde ya mil gracias.
Rulo
|
|
|
En línea
|
|
|
|
|
|