Inicio ¿Sidebar? RSS @MisAlgoritmos at Twitter

POST sin formulario ni variables ocultas

Se pasa por GET los parámetros a llamar mediante POST y Wualaaa! :D

$host = Host al que se establecerá la conexión.
$uri = Archivo que se intentará abrir.
urlencode($vars) = Variables que se enviarán.
$puerto = Puerto por el que se establecerá la conexión.

post.php?host=localhost $uri=/abreme_por_post.php &vars=var1%3dprueba%26var2%3D89.0%26var3%3Dhola+hola &puerto=80

  1. <span style="color: #000000"></span><span style="color: #000000"></span><span style="color: #000000"><font face="Courier New"></font><font face="Courier New"><span style="color: #ff8000"></span><span style="color: #000000"><span style="color: #0000bb" /></span><span style="color: #ff8000">/*
  2. Autor: Victor De la Rocha
  3. Sitio: http://www.mis-algoritmos.com
  4. blog: http://vyk1.spaces.live.com
  5. */
  6. </span><span style="color: #007700">if(isset(</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'host'</span><span style="color: #007700">])&&!</span><span style="color: #0000bb">ereg</span><span style="color: #007700">(</span><span style="color: #dd0000">"^ *$"</span><span style="color: #007700">,</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'host'</span><span style="color: #007700">])){
  7. </span><span style="color: #0000bb">$host</span><span style="color: #007700">=</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'host'</span><span style="color: #007700">];
  8. }else{
  9. echo</span><span style="color: #dd0000">"</span><span id=""error""><strong>Error</strong>: No ha definido el <em>host</em>.</span>
  10. "</font></span><span style="color: #007700">;
  11. </span><span style="color: #0000bb">$error</span><span style="color: #007700">=</span><span style="color: #0000bb">true</span><span style="color: #007700">;
  12. }
  13. if(isset(</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'uri'</span><span style="color: #007700">])&&!</span><span style="color: #0000bb">ereg</span><span style="color: #007700">(</span><span style="color: #dd0000">"^ *$"</span><span style="color: #007700">,</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'uri'</span><span style="color: #007700">])){
  14. </span><span style="color: #0000bb">$uri</span><span style="color: #007700">=</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'uri'</span><span style="color: #007700">];
  15. }else{
  16. echo</span><span style="color: #dd0000">"</span><span id=""error""><strong>Error</strong>: No ha definido el <em>uri</em> al cual se enviarán los datos.</span>
  17. "<span style="color: #007700">;
  18. </span><span style="color: #0000bb">$error</span><span style="color: #007700">=</span><span style="color: #0000bb">true</span><span style="color: #007700">;
  19. }
  20. if(isset(</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'vars'</span><span style="color: #007700">])&&!</span><span style="color: #0000bb">ereg</span><span style="color: #007700">(</span><span style="color: #dd0000">"^ *$"</span><span style="color: #007700">,</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'vars'</span><span style="color: #007700">])){
  21. </span><span style="color: #0000bb">$vars</span><span style="color: #007700">=</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'vars'</span><span style="color: #007700">];
  22. }else{
  23. echo</span><span style="color: #dd0000">"</span><span id=""error""><strong>Error</strong>: No ha definido <em>vars</em>.</span>
  24. "<span style="color: #007700">;
  25. </span><span style="color: #0000bb">$error</span><span style="color: #007700">=</span><span style="color: #0000bb">true</span><span style="color: #007700">;
  26. }
  27. if(isset(</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'puerto'</span><span style="color: #007700">])&&!</span><span style="color: #0000bb">ereg</span><span style="color: #007700">(</span><span style="color: #dd0000">"^ *$"</span><span style="color: #007700">,</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'puerto'</span><span style="color: #007700">])){
  28. </span><span style="color: #0000bb">$puerto</span><span style="color: #007700">=</span><span style="color: #0000bb">$_GET</span><span style="color: #007700">[</span><span style="color: #dd0000">'puerto'</span><span style="color: #007700">];
  29. }else{
  30. echo</span><span style="color: #dd0000">"</span><span id=""error""><strong>Error</strong>: Es necesario definir el <em>puerto</em> por el cual se ejecutará la conexión.</span>
  31. "<span style="color: #007700">;
  32. </span><span style="color: #0000bb">$error</span><span style="color: #007700">=</span><span style="color: #0000bb">true</span><span style="color: #007700">;
  33. }
  34. if(isset(</span><span style="color: #0000bb">$error</span><span style="color: #007700">)&&</span><span style="color: #0000bb">$error</span><span style="color: #007700">==</span><span style="color: #0000bb">true</span><span style="color: #007700">)exit;</span>
$header = "Host: $hostrn"; $header .= "User-Agent: PHP Scriptrn"; $header .= "Content-Type: application/x-www-form-urlencodedrn"; $header .= "Content-Length: ".strlen($vars)."rn"; $header .= "Connection: closernrn"; $fp = pfsockopen("tcp://".$host, $puerto, $errno, $errstr, 30); if($fp){ fputs($fp, "POST $uri HTTP/1.1rn"); fputs($fp, $header.$vars); fwrite($fp, $out); if(isset($_GET[view])){ echo"
";
while (!feof($fp)) {
echo fgets($fp, 128);
}
echo"
"; } fclose($fp); echo"ok"; }else{ echo"error"; } ?>

11 comentarios en POST sin formulario ni variables ocultas

Mis Algoritmos » Blog Archive » Transacciones HTTP usando PHP

[...] Para generar transacciones HTTP muchas veces es necesario que un script simule postear datos a un script como si los datos vinieran de un formulario HTML (por ejemplo mis horripilantes implementaciones utilizando sockets, gracias a un comentario de Pedro Santana por el messenger) [...]

zilfos

Yo encontre este sitio para enviar mensajes gratis tambien
http://dejitaru.info

Victor

Hmm,.. no funciona.

Como enviar mensajes a celulares Telcel utilizando PHP at Mis Algoritmos

[...] Utilizando el archivo post.php(howto), y la siguiente función se puede enviar mensajes a telcel utilizando los datos de su propio formulario. [...]

Viejos tiempos con internet at Mis Algoritmos

[...] Que tiempos aquellos en los que solía haber Internet en la comodidad de mi cuarto, cuando con sólo despertarme ya podía entrar en mi querida y preciada bandeja de entrada, revisar el mail con toda la paciencia del mundo, y de ahí, al messenger,… chatear hasta el cansancio y seguido de eso ponerme a re-inventar la rueda programando alguna estupidez o tan fácil como seguir en busca de ideas nuevas, conociento otros mundos o simplemente creciendo mi sitio. Que vacaciones de diciembre hubiera tenido si algo así hubiera sucedido ,… Hubiera trabajado en sabros.us, en Mis Algoritmos, inventado algo nuevo, seguiría con mis estúpidas ideas de re-invención de ruedas, juju … cualquiera de ellas, la que sea, … me hubiera hecho pasar unas muy muy felices vacaciones… y lo mejor, desde la comodidad de mi casa y no desde el trabajo. [...]

Yes

Ok, ya tengo los dos archivos....mi pregunta es, debo crear un formulario con x campos, porq entiendo es una funcion y debo mandar a llamarlo. ¿o que debo hacer? saludos

Victor

Si, debes crear un formulario.

Blog de Victor De la Rocha » Viejos tiempos con internet

[...] del mundo, y de ahí, al messenger,… chatear hasta el cansancio y seguido de eso ponerme a re-inventar la rueda programando alguna estupidez o tan fácil como seguir en busca de ideas nuevas, conociento otros [...]

Fernando

Gracias por tu aporte , esto es lo que necesito, pero no logro hacerlo funcionar , podrias poner un ejemplo completo con un pequeño formuliario "get" y que invoque a "POST.PHP" ,para poder copiarlo desde este ir haciendo pruebas.

Victorioun

como se leen luego los datos del formulario?

Si llamo a la pagina donde se ejecuta este "formulario" desde un servidor diferente como lo recibo?

César

Una pregunta, el codigo php pertenece al archivo post.php al que le agregas las variables tipo GET?

de antemano te agradezco la respuesta y agradecerte que me vas a salvar de una

Deja un comentario

¿Cuanto es 2 + 3 - 5? =

Suscribirse a los comentarios.