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…)

Por parzibyte, hace
Imprimiendo en impresora térmica desde cualquier lenguaje de programación - Ejemplo de JSON

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…)

Enviar archivo de JavaScript a Golang

Subir archivo de JavaScript a Go (Golang)

En este post de programación cliente-servidor vamos a ver cómo enviar un archivo desde JavaScript del lado del cliente a Golang (Go) del lado del servidor.

Específicamente hablando veremos cómo enviar un archivo usando fetch y FormData a través de AJAX hacia un servidor de Go.

Lo que te enseñaré servirá para enviar fotos, archivos binarios o incluso una foto tomada con la cámara web con las debidos ajustes.

Va a ser un ejemplo realmente simple pero que luego podrás modificar para, por ejemplo, usarlo en React, Angular, JavaScript puro o Vue.

(más…)

PHP: problemas con file_get_contents en petición HTTP

En este post vamos a ver un problema que pasa con file_get_contents en PHP cuando usamos dicha función para hacer una petición http o queremos mostrar el contenido de una página y la descargamos con esta función.

Recuerda que igualmente podemos usar file_get_contents para hacer una petición HTTP usando stream_context_create.

Bien, veamos qué hacer si file_get_contents no funciona en PHP, no muestra errores ni avisos o devuelve false sin razón aparente.

(más…)

The request client is not a secure context and the resource is in more-private address space local.

Recientemente (al momento de escribir este post) Chrome se ha actualizado para ser más seguro, y en ocasiones nos va a lanzar el error que dice:

Access to fetch at ‘dominio’ from origin ‘otro_dominio’ has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space local.

Es un error de CORS pero no de los errores que conocemos. Este es nuevo, y dice:

The request client is not a secure context and the resource is in more-private address space local.

Así que en este post te mostraré de qué va ese error y por qué me interesa.

(más…)

Por parzibyte, hace

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.

(más…)

Por parzibyte, hace
Descargar archivo por URL usando Go Golang

Go – Descargar archivo de internet

En este post de programación en Go / Golang te enseñaré cómo descargar un archivo de internet y guardarlo en el dispositivo desde donde se invocó al ejecutable.

Descargar archivo por URL usando Go Golang

Descargar archivo por URL usando Go Golang

Es decir, usar Go para descargar cualquier archivo de internet, ya sea una imagen, un PDF, etcétera y guardarlo en la computadora.

(más…)

Leer tarjeta RFID con PHP y ESP8266

En este post te mostraré cómo leer el ID de una tag o tarjeta RFID y enviarla a un servidor Apache con PHP para guardarla, procesarla, etcétera.

Aunque este ejemplo está creado con PHP, podrías enviar el valor a cualquier servidor web con cualquier lenguaje de programación que soporte HTTP.

Lo que haremos será usar una tarjeta ESP8266 que ya tiene WiFi integrado, además de un lector RFID RC522. Básicamente será poner juntos dos tutoriales:

De igual modo veamos cómo hacerlo; te dejaré el código de ejemplo tanto de la tarjeta (en C++) como del servidor web (en PHP).

(más…)

Hacer petición HTTP con ESP8266

En este post sobre la tarjeta NodeMCU ESP8266 te mostraré cómo hacer una petición HTTP a un servidor web. Esto servirá para, por ejemplo, enviar datos de un sensor a un servidor web propio.

En este ejemplo te voy a mostrar cómo enviar datos desde una ESP8266 a un servidor Apache con PHP, pues es de las pilas de desarrollo más usadas, pero recuerda que podrías hacer esto con cualquier lenguaje por ejemplo usando Python y Flask o Go, etcétera.

Veamos entonces cómo comunicar la tarjeta con nuestro servidor, pues la misma ya tiene conexión WiFi así que podemos conectarla fácilmente.  Vamos a hacer que nuestra ESP8266 sea un cliente HTTP, pues anteriormente ya vimos cómo hacer que sea un servidor.

(más…)