Parzibyte's blog

Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.

Detener servidor http de Go desde el mismo servidor

El día de hoy te enseñaré a detener un servidor web creado con Go desde el propio programa. Dicho de otra manera, el servidor se va a detener a sí mismo.

Para estoy hay varios enfoques pero te enseñaré 2 que yo considero son muy fáciles y no involucran canales o rutinas (go routines).

(más…)

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:

A esta más limpia:

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.

(más…)

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.

(más…)

Crear conector para plugin de impresora térmica

En este post voy a explicarte cómo puedes crear un conector para 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.

(más…)

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.

(más…)

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.

(más…)

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.

(más…)

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"].

(más…)