Realizar solicitudes HTTP/POST desde la Bash 
En un post anterior hablaba de las bondades de los sockets en bash y de su gran utilidad a la hora de realizar scripts sin necesidad de programar en C ni en ningún otro lenguaje compilado. Gracias a esta cualidad de la bash he podido realizar solicitudes HTTP/POST a un servidor desde un script de forma sencilla:

#!/bin/bash
VARS="una_variable=valor1&otra_variable=valor2"
HTTP_REQUEST="POST /ruta/a/la/pagina HTTP/1.0\r\nContent-type: application/x-www-form-urlencoded\r\nContent-length: ${#VARS}\r\n\r\n$VARS\r\n"
exec 5<>/dev/tcp/nombre_del_host/80
echo -e $HTTP_REQUEST >&5
/bin/cat <&5 > /dev/null
exec 5<&-


En este caso se envía mediante el método POST la variable una_variable con el valor valor1 y la variable otra_variable con el valor valor2 a la página http://nombre_del_host/ruta/a/la/pagina.

avelino 
Si te refieres a obtener las variables post desde un script PHP en el lado del servidor, debes usar la variable $_POST de PHP que es un array indexado por los nombres de las variables y que contiene los valores de éstas: Si envías las variables a=1 y b=2 en el lado del servidor tendrás $_POST["a"] = 1 y $_POST["b"] = 2, luego sólo tienes que utilizar las funciones system() o passthru() de PHP para ejecutar el script (archivo.sh) y pasarle por parámetros los valores que te han llegado por post.

Henry 
Hola, y si quisiera obtener las variables de post de un archivo php y estos sean utilizados en un archivo.sh????

Comentarios 
Lo sentimos. No se permiten nuevos comentarios después de 90 días.