En mi blog ya te he mostrado cómo hacer un servidor web con Python o una API con Flask, pero Python también puede ser un cliente HTTP para consumir APIs de otros servidores.
Por ello es que en este post te voy a enseñar cómo hacer una petición HTTP de tipo POST enviando y recibiendo datos codificados como JSON usando Python y el módulo requests.
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.
JavaScript es un lenguaje que evoluciona en todos los sentidos.
Hace tiempo se utilizaba XMLHttpRequest para hacer peticiones AJAX en JavaScript del lado del cliente. Tiempo después aparecieron librerías como jQuery que traían una función para hacer más fáciles las peticiones, con $.ajax.
Más tarde salieron librerías como axios, o algunas otras que vienen incorporadas en frameworks.
Recientemente (bueno, hace ya algunos años, pero es más nueva que XMLHttpRequest) ha aparecido la función global fetch en JavaScript que trabaja con promesas y permite hacer peticiones HTTP de todo tipo de una manera fácil y rápida.
En este post voy a mostrar una guía de cómo trabajar con fetch en JavaScript para hacer peticiones GET, POST (con datos en el cuerpo), PUT y DELETE, además de solicitar HTML o JSON.
Golang es un lenguaje utilizado del lado del servidor debido a su simplicidad de uso, potencia y velocidad.
Sin embargo, con Go también se pueden hacer peticiones HTTP. Es decir, Go también puede funcionar como cliente HTTP, no solo como servidor.
Como sabemos, hay 4 métodos básicos para las peticiones HTTP: POST para enviar datos, GET para obtener, PUT para actualizar y DELETE para eliminar.
Peticiones HTTP con Go y net http
En este post veremos ejemplos de cómo hacer estas 4 peticiones con Go usando el paquete net/http para lograr hacer una petición GET, POST, PUT y DELETE usando Golang.
También vamos a ver cómo escribir y enviar encabezados o el código de respuesta (200 para OK, 500 de error, 405 de no permito, etcétera)
El sitio web que vamos a usar para probar será httpbin.org, el cual sirve como espejo para probar que realmente estamos haciendo las peticiones y enviando datos.