Peticion GET desde scrit bash
Publicado: 2 Noviembre, 2011 - 20:41 Peticion GET desde scrit bash
Hola gente del foro, tengo una consulta, respecto a una tarea que me encomendaron, no creo que sea complicado pero no se nada de php ni usar curl, asi que ahi les va: se puede hacer una peticion http get (para pasarle parametros a un php) desde la consola? como para poder agregarlo al crontab? Saludos! gracias por su tiempo!
- Inicie sesión o regístrese para enviar comentarios
- 306 lecturas


Bueno, obviamente necesitas algún programa que acceda a internet, o configurar bash para que pueda hacer las peticiones tcp.
Recuerdo que hay una forma de decirle a bash que accediera a puertos tcp, pero no recuerdo cuál era la ruta...
Entonces, la otra alternativa es usar un programa. En este caso, yo seleccionaría NetCat (como ya dijiste que no a wget y curl).
Archivo.peticion:
GET /index.php?argumentos=get&otro=arg/* Poner aquí demás cabeceras http que sean necesarias */
Comando:
nc lugar.remoto.com 80 < Archivo.peticion > Archivo.salida¿Podría ser esto suficiente?
Bash define dos pseudo dispositivos para permitir el acceso a sockets, /dev/tcp y /dev/udp.
A modo de ejemplo,
HOST=lugar.remoto.com
PORT=80
# Descriptor arbitrario que asigno al socket
exec 5<>/dev/tcp/"$HOST"/"$PORT"
REQUEST="GET /index.php?argumentos=get&otro=arg HTTP/1.0\n"
echo -e >&5
RESPONSE=$(cat <&5)
echo -e "$RESPONSE"
# Cierra el socket
exec 5>&-
Bash define dos pseudo dispositivos para permitir el acceso a sockets, /dev/tcp y /dev/udp.
A modo de ejemplo,
HOST=lugar.remoto.com
PORT=80
# Descriptor arbitrario que asigno al socket
exec 5<>/dev/tcp/"$HOST"/"$PORT"
REQUEST="GET /index.php?argumentos=get&otro=arg HTTP/1.0\n"
echo -e >&5
RESPONSE=$(cat <&5)
echo -e "$RESPONSE"
# Cierra el socket
exec 5>&-
No deberia ser
echo -e $REQUEST >&5en la linea 6??
Efectivamente, pido disculpas por el error.