EasyDev con Requests
Publicado: Sab Dic 26, 2015 9:17 pm
Abro este tema de forma independiente al original de EasyDev, por que el tema tratado puede llegar a ser bastante largo también...
Como comunicarse con servidores web es un tema recurrente, en Python tenemos la mejor librería para hacer este trabajo, se llama Requests: http://docs.python-requests.org/en/latest/
Es tan sencilla de usar que no puede faltar en EasyDev, la he integrado en una rama de desarrollo y pueden ayudarme a probarla desde aquí: https://github.com/UniversoLibreMexicoA ... v2.5.0.oxt
Con esta librería se pueden hacer cosas tan simples, como saber nuestra IP publica.
Y con nuestra IP pública (o cualquier IP o nombre de dominio), saber donde esta localizada.
Hasta cosas tan sofisticadas como la facturación electrónica, con esta librería hago todos los procesos contra webservice en Factura Libre.
CUIDADO Si están usando AOO o LibO en Windows y usan un servidor con HTTPS, por ahora, deben de deshabilitar la verificación del mismo de la siguiente manera.
Incluso en algunos que no sea posible esto, tal vez obtengan un error. Estoy viendo como integrar el total de librerías necesarias.
Pero... por ahora, con esto tienen para jugar un rato, la cantidad de servicios disponibles por webservice o por algun api web, es inmensa y sigue creciendo.
La librería tiene soporte incluso para páginas donde se tiene que identificar, pero, ya iremos viendo caso por caso.
!Feliz programación¡
Como comunicarse con servidores web es un tema recurrente, en Python tenemos la mejor librería para hacer este trabajo, se llama Requests: http://docs.python-requests.org/en/latest/
Es tan sencilla de usar que no puede faltar en EasyDev, la he integrado en una rama de desarrollo y pueden ayudarme a probarla desde aquí: https://github.com/UniversoLibreMexicoA ... v2.5.0.oxt
Con esta librería se pueden hacer cosas tan simples, como saber nuestra IP publica.
Código: Seleccionar todo
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "http://api.ipify.org"
response = util.requests(data)
ip_public = response.Text
MsgBox ip_public
Código: Seleccionar todo
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "http://api.ipify.org"
response = util.requests(data)
ip_public = response.Text
data.Url = "http://freegeoip.net/csv/" & ip_public
response = util.requests(data)
util.msgbox(response.Text)
CUIDADO Si están usando AOO o LibO en Windows y usan un servidor con HTTPS, por ahora, deben de deshabilitar la verificación del mismo de la siguiente manera.
Código: Seleccionar todo
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "https://api.ipify.org"
args = Array( _
Array("verify", False) _
)
data.Args = args
response = util.requests(data)
ip_public = response.Text
Pero... por ahora, con esto tienen para jugar un rato, la cantidad de servicios disponibles por webservice o por algun api web, es inmensa y sigue creciendo.
La librería tiene soporte incluso para páginas donde se tiene que identificar, pero, ya iremos viendo caso por caso.
!Feliz programación¡