Publicado el 12 de Octubre del 2018
857 visualizaciones desde el 12 de Octubre del 2018
153,8 KB
7 paginas
Creado hace 6a (18/04/2018)
Librería request
Escuela Técnica Superior de Ingeniería de Telecomunicación
Universidad Rey Juan Carlos
gsyc-profes (arroba) gsyc.urjc.es
Abril de 2018
GSyC - 2018
request
1
©2018 GSyC
Algunos derechos reservados.
Este trabajo se distribuye bajo la licencia
Creative Commons Attribution Share-Alike 4.0
GSyC - 2018
request
2
request
request
Para hacer peticiones http RESTful en JavaScript / node.js
tenemos diversas opciones
http
Librería estándar, de bajo nivel
request
Libería para hacer peticiones http, de más alto nivel que la
librería http. No es estándar pero es muy popular
Para instalarla:
npm install request
Axios
Librería basada en promesas (programación asíncrona). Para
el navegador y para node.js
SuperAgent Similar a Axios
GSyC - 2018
request
3
request
Mediante consultas basadas en API a diversos servidores podemos
construir sistemas con una gran funcionalidad
Directorio de recursos web accesibles mediante API:
https://www.programmableweb.com
Como ejemplo, vamos a consultar el tiempo actual y la
predicción que ofrece
www.http://www.weatherunlocked.com
Necesitamos abrir una cuenta (gratuita), que nos
proporcionará un par Application ID, Application Keys con el
que podremos hacer peticiones http RESTful
GSyC - 2018
request
4
Consultas a weatherunlocked
request
Al método request.get() le pasamos
Una cadena con la URI del recurso. Incluye:
La dirección base http://api.weatherunlocked.com
El recurso, que puede ser api/current/ o api/forecast/
Un parámetro con los Application ID, Application Keys
La función que manejará la respuesta. Con los parámetros
error
Valdrá null si la consulta tuvo éxito
response
Si hubo respuesta, este objeto contendrá todos los detalles.
Muy bajo nivel
body
Cuerpo de la respuesta, si la hubo
GSyC - 2018
request
5
request
’use strict’
let request = require(’request’);
let dir_base="http://api.weatherunlocked.com/"
let recurso = "api/current/"
//let recurso = "api/forecast/"
let localizacion = "40.283,-3.822"
//let localizacion = "es.28942"
let uri = dir_base + recurso + localizacion
let app_id = "xxxxxxxx"
let app_key= "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
let param1 = "app_id=" + app_id + "&" + "app_key=" + app_key
let param2 = "lang=es"
uri =
uri + "?" + param1 + "&" + param2
console.log(uri + "\n")
GSyC - 2018
request
6
request
request.get(uri, function(error, response, body){
console.log("error:");
console.log(error);
console.log("Body:");
imprime(body);
});
function imprime(x){
let y=JSON.parse(x);
console.log(y);
}
https://developer.weatherunlocked.com/documentation/localweather/current
http://ortuno.es/request.js.txt
GSyC - 2018
request
7
Comentarios de: Librería request (0)
No hay comentarios