Golang: validar parámetros GET en URL con servidor HTTP

En este post vamos a ver cómo validar y obtener los parámetros GET pasados en la URL cuando estamos leyendo la petición de un servidor HTTP. Recuerda que con net/http podemos obtener el mapa de parámetros con http.Request.URL.Query, luego cuando accedemos a una clave nos devolverá un arreglo con todos los valores para esa clave GET y finalmente si solo queremos el primero accederemos a la posición 0 de ese arreglo. Yo te enseñaré cómo pasar de esta validación: variablesGet := r.URL.Query() fechaInicioComoArreglo := variablesGet["fechaInicio"] fechaFinComoArreglo := variablesGet["fechaFin"] if len(fechaInicioComoArreglo) <= 0 { return nil, errors.New("no hay fechaInicio") } if len(fechaFinComoArreglo) <= 0 { return nil, errors.New("no hay fechaFin") } A esta más limpia: valores, err := validarParametrosGetDePeticionHttp(r, []string{"fechaInicio", "fechaFin"}) if err != nil { return nil, err } fechaInicio, fechaFin := valores[0], valores[1] De este modo podremos validar que el parámetro GET se encuentre presente en la petición HTTP además de que no esté vacío, y no importará la cantidad, siempre tendremos las mismas líneas. Nota: seguramente habrá frameworks o librerías que ya hacen el trabajo. Yo lo haré usando solo la librería estándar y el paquete net/http de Golang. ...

febrero 2, 2023 · 3 min · 437 palabras · Parzibyte

Curl: mostrar respuesta HTTP raw con encabezados

En este post veremos cómo ver el cuerpo de una respuesta HTTP sin parsear ni interpretar, es decir, de manera “cruda” o raw para ver todos los encabezados y respuestas HTTP. Yo lo he usado para probar un servidor web en una Raspberry Pi Pico W, ya que me daba algunos errores con Postman y otros clientes, así que necesitaba ver toda la respuesta HTTP y lo hice con curl. ...

enero 24, 2023 · 2 min · 330 palabras · Parzibyte

Crear conector para plugin de impresora térmica

En este post voy a explicarte cómo puedes consumir el plugin de impresoras térmicas y así poder imprimir desde cualquier lenguaje de programación que hable HTTP. Como bien sabes, mi plugin no es más que un servidor web que te permite imprimir en impresoras POS, solo debes indicarle las operaciones que debe hacer. Veamos entonces cómo imprimir en una impresora térmica usando cualquier lenguaje de programación y mi plugin gratuito. ...

noviembre 30, 2022 · 4 min · 793 palabras · Parzibyte

Ejecutar programa de Linux Ubuntu en segundo plano

En este corto post sobre servidores de Linux (Ubuntu específicamente) te enseñaré a ejecutar un programa en segundo plano sin bloquear la terminal. ...

julio 15, 2022 · 2 min · 329 palabras · Parzibyte

Conectarse a Ubuntu por SSH usando usuario y contraseña

Lo recomendado para usar SSH y administrar un servidor remoto es la clave pública y privada; de este modo podemos conectarnos remotamente sin colocar la contraseña. Ya he dedicado un post completo a la creación de un par de claves para usar al conectarse por SSH, pero en el artículo de hoy te enseñaré a conectarte por SSH a un servidor de Linux Ubuntu usando un usuario y contraseña. Con lo que verás aquí podrás solucionar el error que dice: Permission denied (publickey). Toma en cuenta que esto es inseguro ya que un atacante puede hacer ataques de fuerza bruta o cosas de esas, pero en ocasiones es necesario al menos de manera temporal. Nota: este truco se puede usar para conectarse a un servidor de Ubuntu de DigitalOcean sin usar la consola desde el navegador. ...

julio 14, 2022 · 2 min · 358 palabras · Parzibyte

Subiendo Sublime POS 3 a servidor Ubuntu

Ya escribí un artículo indicando cómo usar Sublime POS 3 en internet de manera resumida, pero en este post te enseñaré una pequeña guía específica de cómo subirlo a un servidor con Linux Ubuntu alojado en DigitalOcean. Te recomiendo leer primero el post que cité anteriormente y después volver a este. También te sugiero que veas cómo compilar el código fuente para que entiendas los conceptos aquí mostrados. ...

julio 14, 2022 · 4 min · 649 palabras · Parzibyte

Go - Leer variable GET en servidor HTTP

En este post te mostraré cómo leer una variable de la URL en una petición GET de Go usando HTTP. Básicamente es leer una variable GET de la URL, lo que haríamos en PHP con $_GET["variable"]. ...

agosto 14, 2021 · 2 min · 280 palabras · Parzibyte

Go - Servir carpeta por HTTP

En este post te mostraré cómo servir un directorio por medio de HTTP usando Go. Básicamente verás cómo servir contenido estático para que puedas acceder a él desde el navegador. De este modo podrás servir contenido en general, una aplicación web o el frontend de la misma, ya que puedes servir CSS, JS y HTML. ...

agosto 13, 2021 · 2 min · 306 palabras · Parzibyte

Alojar página web en GitHub

En este tutorial te enseñaré cómo alojar tu sitio web o aplicación web en GitHub totalmente gratis. Si bien GitHub no está pensado como un servicio de hosting, podemos ejecutar nuestras aplicaciones dentro del servicio. Te enseñaré cómo usar GitHub para servir tu proyecto web. Por ahora solo te mostraré cómo usarlo para servir JavaScript, HTML y CSS (pues no podemos procesar nada del lado del servidor). Así que, que quede claro: solo va a funcionar para las cosas del lado del cliente y no del lado del servidor sin importar el lenguaje de programación. Pero no te preocupes, para un portafolio o aplicación web funcionará de maravilla, siempre y cuando no utilice backend. ...

abril 28, 2021 · 3 min · 447 palabras · Parzibyte

Grabar vídeo de cámara con Python, Flask y OpenCV - Cámara de vigilancia

En este post te mostraré otro avance en cuanto a la lectura de una cámara web usando Python. Con el código que expongo aquí serás capaz de: Ver la cámara en tiempo real, con fecha y hora Descargar una foto Guardar la foto en el servidor Grabar vídeos y guardarlos en el servidor Básicamente se podrá hacer todo lo que se haría en una cámara de vigilancia, pero ahora usando Python y una cámara conectada al dispositivo. Obviamente se le pueden agregar más cosas, mejorar el proyecto, etcétera. El punto es que con esto podemos usar Python para acceder a la cámara web, verla, tomar fotos y grabar vídeos. ...

febrero 13, 2021 · 8 min · 1654 palabras · Parzibyte